1、在root权限下,通过如下命令安装Vsftp,命令式
yum install vsftpd。
2、 在启动vsftpd服务之前,需要登录云服务器修改配置文件,将匿名登录禁用掉。
打开配置文件
vim /etc/vsftpd/vsftpd.conf。
在配置文件中anonymous_enable=YES”改为“anonymous_enable=NO”,即将匿名登录禁用。
3、保存,启动vsftpd服务。
service vsftpd start。
4、设置FTP用户账号。设置成功后,即可通过该账号登录FTP服务器。
设置FTP用户的账号,例如账号为“yangyufeng”,目录为/home/yangyufeng,且设置不允许通过ssh登录。
useradd -m -d /home/yangyufeng-s /sbin/nologin yangyufeng。
修改 usermod -s /bin/bash zhouhai
设置账号对应的密码,例如密码为“yangyufeng”。
passwd yangyufeng。
5、修改vsftpd的pam配置,使用户可以通过自己设置的FTP用户帐号和密码连接到云服务器。
修改pam:
vim /etc/pam.d/vsftpd。
内容修改为如下:
#%PAM-1.0
auth required /lib64/security/pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed;
auth required /lib64/security/pam_unix.so shadow nullok ;
auth required /lib64/security/pam_shells.so ;
account required /lib64/security/pam_unix.so ;
session required /lib64/security/pam_unix.so ;
重启vsftpd服务,使修改生效。
ssh添加:
首先查看是否安装ssh服务
添加一个新用户
adduser yyf //添加一个新用户,名字叫yyf
passwd yyf //设置用户密码
gpasswd -a yyf wheel //添加用户yyf到组wheel中,给予sudo权限, 当权限不够时,可以用sudo
lid -g wheel //查询所有带sudo权限的用户
userdel -r yyf //删除用户和相应的目录
ssh配置:
SSH设置保存在 /etc/ssh/sshd_config
PermitRootLogin no //阻止root用户登陆
AllowUsers yyf //允许制定用户使用SSH登陆
PasswordAuthentication no //阻止用户密码SSH登陆
service sshd restart //重启服务,使配置生效
或/bin/systemctl start sshd.service
注意:
这样写不会覆盖,会是密钥登陆
现在ssh可以用xshell登录了,但是此时yyf还不能访问其它目录
把某文件、文件夹权限赋予给某用户
进去当提示:
一般是权限不足,我chown yangyufeng /home/zhouhai 把zhouhu文件权限都给yangyufeng了
注:
windows客户端可以通过该ssh连接成功,后来客户端连接突然出现:
Connection closed by foreign host
该问题可能是由于SSH服务Key认证相关文件或目录权限配置异常导致的。 由于无法读取相应的key认证信息,所以连接中断,进而出现了上述报错信息。
用户可以尝试通过如下方法来解决该问题:
1. 使用【管理终端】进入服务器。
2. 使用如下指令修正SSH key认证相关目录和文件的权限配置:
cd /etc/ssh
sudo chmod 644 ./*
sudo chmod 600 ssh_host_dsa_key
sudo chmod 600 ssh_host_rsa_key
sudo chmod 755 .
/etc/init.d/ssh restart
3. 完成上述配置后再尝试重新使用SSH客户端连接 Linux服务器,成功登录!