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服務器,成功登錄!