配置 sftp
如何查看自己服務(wù)器上的ssh版本
$ ssh -V
1.需要創(chuàng)建一個用戶組,專門用于sftp用戶
$ groupadd sftpusers
2.創(chuàng)建一個用戶test
$ useradd -s /bin/false -G sftpusers test
注意這里我們將test用戶的shell設(shè)置為/bin/false使他沒有登陸shell的權(quán)限
3.編輯 /etc/ssh/sshd_config
找到Subsystem這個配置項榛了,將其修改為
Subsystem sftp internal-sftp
為什么實用 internal-sftp 而不用默認(rèn)的 sftp-server此洲,這是因為:
1.這是一個進(jìn)程內(nèi)的 sftp 服務(wù),當(dāng)用戶 ChrootDirectory 的時候,將不請求任何文件;
2.更好的性能,不用為 sftp 再開一個進(jìn)程押逼。
非必要操作
再到文件最尾處增加配置設(shè)定屬于用戶組sftpusers的用戶都只能訪問他們自己的home文件夾
# 匹配用戶組,如果要匹配多個組惦界,多個組之間用逗號分割
Match Group sftpusers
# 指定登陸用戶到自己的用戶目錄
ChrootDirectory %h
# 指定 sftp 命令
ForceCommand internal-sftp
# 這兩行宴胧,如果不希望該用戶能使用端口轉(zhuǎn)發(fā)的話就加上,否則刪掉
X11Forwarding no
AllowTcpForwarding no
4.修改test用戶home文件夾的權(quán)限表锻,讓其屬于root用戶
cd /home
chown root ~test
5.重啟sshd服務(wù)
$ service sshd restart
or
$ systemctl restart sshd
6.測試用戶賬號
$ sftp tesst@localhost