01. 需求
研發同事需要用他測試服務器上的一個特定用戶去連接另外一台ftp服務器,進行上傳和下載文件,為了安全,這個用戶連接ftp服務器后,只能訪問它自己的家目錄下的內容。
02. 實現
因為sftp是ssh服務自帶的功能,所以去修改ssh的配置文件sshd_config。
cd /etc/ssh/ cp sshd_config sshd_config.bak vim sshd_config #注釋該行 #Subsystem sftp /usr/libexec/openssh/sftp-server #修改下面的配置 Subsystem sftp internal-sftp Match User test #用來登錄的用戶 ChrootDirectory /home/test/ #test用戶的家目錄 X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp
重啟sshd服務
service sshd restart
在sshd_config里配置了這個用戶並指定了家目錄,開始一切正常。
03. 問題
后來的某一天,研發同事說ssh連接這台服務器一直閃斷的不行,我去查了一下,最后發現sshd_config里配置的用戶所指定的家目錄在服務器上早已經不在,原來是這個用戶被更換了家目錄,導致ssh配置文件找不到這個目錄。
04. 解決方法
更換sshd_config里面配置的用戶家目錄路徑。