Centos SSH和FTP配置

设置固定IP

1. 虚拟机设置里面——网络适配器,网络连接选择NAT模式。

虚拟机菜单栏—编辑—虚拟网络编辑器,选择Vmnet8 NAT模式,

1.在最下面子网设置ip为192.168.86.0 子网掩码255.255.255.0

2.NAT设置里面网关IP为192.168.86.2

3.使用本地DHCP服务将IP地址分配给虚拟机不勾选

设置完成后点击应用退出。



编辑linux网卡eth0的配置文件

#vi /etc/sysconfig/network-scripts/ifcfg-eth0

输入上述命令后回车,打开配置文件,使用方向键移动光标到最后一行,按字母键“O”,进入编辑模式,输入以下内容:

IPADDR=192.168.86.130

NETMASK=255.255.255.0

GATEWAY=192.168.86.2

另外光标移动到”ONBOOT=no”这一行,更改为ONBOOT=yes

“BOOTPROTO=dhcp”,更改为BOOTPROTO=none

DNS1=192.168.86.2

必须要在/etc /sysconfig/network-scripts/ifcfg-eth0里面最后加上dns的设置。不需要配置/etc/resolv.conf


重启网络

service network restart

ifconfig查看

ping www.baidu.com测试





配置Mirror Server:

wget -O /etc/yum.repos.d/CentOS-Base.repohttp://mirrors.aliyun.com/repo/Centos-6.repo

配置SSH

1.查看有没有装SSH

[root@localhost ssh]# rpm -qa|grep ssh
openssh-askpass-5.3p1-118.1.el6_8.x86_64
libssh2-1.4.2-1.el6_6.1.x86_64
openssh-5.3p1-118.1.el6_8.x86_64
openssh-server-5.3p1-118.1.el6_8.x86_64
openssh-clients-5.3p1-118.1.el6_8.x86_64

没有装执行

yum install openssh-server

重启ssh

[root@localhost ssh]# service sshd restart
Stopping sshd:                                             [  OK  ]
Starting sshd:                                             [  OK  ]

查看是否SSH正在22号端口运行
[root@localhost ssh]# netstat -antp|grep sshd
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      3359/sshd          
tcp        0      0 :::22                       :::*                        LISTEN      3359/sshd          

设置开机自动启动

chkconfig sshd on


配置ftp


1. 开通FTP有gssftp和vsftpd二种,vsftpd更稳定和更安全。就用vsftpd


什么是vsftpd

vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。

vsftpd 的名字代表”very secure FTP daemon”, 安全是它的开发者 Chris Evans 考虑的首要问题之一。在这个 FTP 服务器设计开发的最开始的时候,高安全性就是一个目标。


1). 安装vsftpd

首先查看是否服务器已经安装vsftpd.

rpm -q vsftpd

如果没有安装

yum -y install vsftpd

安装完成后会产生下面的东西

/etc/vsftpd/vsftpd.conf

home目录/var/ftp

新建了ftp用户和ftp组

[root@localhost ftp]# cat /etc/passwd|grep ftp
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

2)、设置开机自启

chkconfig vsftpd on

3)、启动vsftpd

service vsftpd start


4)、安装ftp客户端验证是否vsftpd可用

yum -y install ftp


ftp 127.0.0.1

输入用户名ftp,密码随意,因为默认允许匿名


5)、关闭匿名

vi /etc/vsftpd/vsftpd.conf

行anonymous_enable=YES ,改为NO

重启service vsftpd restart使改动生效,再次ftp127.0.0.1, 用户名ftp,密码随意,会发现无法登录


6)、root用户登陆

root用户无法ftp登陆是因为/etc/vsftpd/vsftpd.conf中userlist_enable = YES, 所有/etc/vsftpd/user_list和ftpusers中的用户都会禁用ftp登陆。

解决办法:

a. 注释掉下面两个文件中的root用户

/etc/vsftpd/user_list

/etc/vsftpd/ftpusers

b. 设置SELinux中的两个变量(也可以用来解决问题:500 OOPS: cannot change directory)

setsebool -P allow_ftpd_full_access on

setsebool -P ftp_home_dir on

c. service vsftpd restart


7)、启用远程登陆,需要进一步配置

1、开启21端口

vi /etc/sysconfig/iptables 在22 - j ACCEPT下加入

-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT

service iptables restart

cannot change directory:/home/*** 
ftp服务器连接失败,错误提示: 
500 OOPS: cannot change directory:/home/******* 
500 OOPS: child died 
解决方法: 
在终端输入命令: 

复制代码
代码如下:

setsebool -P ftpd_disable_trans 1 
service vsftpd restart 


[root@localhost vsftpd]# sestatus -b | grep ftp

allow_ftpd_anon_write                       off

allow_ftpd_full_access                      off

allow_ftpd_use_cifs                         off

allow_ftpd_use_nfs                          off

ftp_home_dir                                off

ftpd_connect_db                             off

ftpd_use_fusefs                             off

ftpd_use_passive_mode                       off

httpd_enable_ftp_server                     off

tftp_anon_write                             off

tftp_use_cifs                               off

tftp_use_nfs                                off

 

结果如上, ftp_home_dir off,即SE关闭了ftp主目录,如下,将其设置为on

[root@localhost vsftpd]# setsebool -P ftp_home_dir on

说明:-P表示永久设置,不用每次开机后都重新设置。

 

3.重启ftp服务器

[root@localhost vsftpd]# service vsftpd restart

Shutting down vsftpd:                                      [  OK  ]

Starting vsftpd for vsftpd:                                [  OK  ]


8)、开启passive模式

开启防火墙端口

-A INPUT -m state --state NEW -m tcp -p tcp --dport 30000:30999 -j ACCEPT   #开启passive模式端口

service iptables restart


9)、开启passive模式,在/etc/vsftpd/vsftpd.conf中加入下面两句

pasv_min_port=30000
pasv_max_port=30999

service vsftpd restart


10)、配置chroot_local_user与chroot_list_enable

很多情况下,我们希望限制ftp用户只能在其主目录下(root dir)下活动,不允许他们跳出主目录之外浏览服务器上的其他目录,这时候我就需要使用到chroot_local_user,chroot_list_enable,chroot_list_file这三个选项了。以下是对三个配置项的解释:

  • chroot_local_user #是否将所有用户限制在主目录,YES为启用 NO禁用.(该项默认值是NO,即在安装vsftpd后不做配置的话,ftp用户是可以向上切换到要目录之外的)
  • chroot_list_enable #是否启动限制用户的名单 YES为启用  NO禁用(包括注释掉也为禁用)
  • chroot_list_file=/etc/vsftpd/chroot_list #是否限制在主目录下的用户名单,至于是限制名单还是排除名单,这取决于chroot_local_user的值,我们可以这样记忆: chroot_local_user总是一个全局性的设定,其为YES时,全部用户被锁定于主目录,其为NO时,全部用户不被锁定于主目录。那么我们势必需要在全局设定下能做出一些“微调”,即,我们总是需要一种“例外机制",所以当chroot_list_enable=YES时,表示我们“需要例外”。而”例外“的含义总是有一个上下文的,即,当”全部用户被锁定于主目录“时(即chroot_local_user=YES),"例外"就是:不被锁定的用户是哪些;当"全部用户不被锁定于主目录"时(即chroot_local_user=NO),"例外"“就是:要被锁定的用户是哪些。这样解释和记忆两者之间的关系就很清晰了!
chroot_local_user=YESchroot_local_user=NO
chroot_list_enable=YES1.所有用户都被限制在其主目录下2.使用chroot_list_file指定的用户列表,这些用户作为“例外”,不受限制1.所有用户都不被限制其主目录下2.使用chroot_list_file指定的用户列表,这些用户作为“例外”,受到限制
chroot_list_enable=NO1.所有用户都被限制在其主目录下2.不使用chroot_list_file指定的用户列表,没有任何“例外”用户1.所有用户都不被限制其主目录下2.不使用chroot_list_file指定的用户列表,没有任何“例外”用户


例:限制除root之外所有用户只能访问自家目录

chroot_local_user=YES

chroot_list_enable=YES

把root加到/etc/vsftpd/chroot_list中

service vsftpd restart






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值