創(chuàng)建用戶 sftpuser,并禁止ssh登錄坞笙,只允許在指定目錄下載文件
1.創(chuàng)建sftp用戶(只做1荚虚,sftp登錄后沒有做權(quán)限控制)
useradd -d /home/sftpuser -s /sbin/nologin sftpuser
echo "userpass" | passwd --stdin sftpuser
2.修改配置/etc/ssh/sshd_config
#注釋原配置中此行
# Subsystem sftp /usr/libexec/openssh/sftp-server
#新增下列配置
# 外部子系統(tǒng)
Subsystem sftp internal-sftp
# 條件塊
Match Group sftp #組
Match User sftp #用戶
# 是否進(jìn)行X11轉(zhuǎn)發(fā)
X11Forwarding no
# 是否允許TCP轉(zhuǎn)發(fā)
AllowTcpForwarding no
# 指定Chroot認(rèn)證路徑
ChrootDirectory /home/sftp #路徑自定義 %h 代表用戶 home 目錄籍茧,%u 代表用戶名
# 強(qiáng)制執(zhí)行指定命令
ForceCommand internal-sftp
3.設(shè)置目錄權(quán)限(做了1,2不做3寞冯,會(huì)連接失斂饰觥)
sftp用戶訪問目錄需要設(shè)置所有者和所屬組的權(quán)限均為root吮龄,并設(shè)置目錄的權(quán)限為755
chown root:root /home/sftp/ #不要使用chown -R
chmod 755 /home/sftp/ #不要使用chmod -R
修改配置過(guò)程中可能會(huì)遇到以下錯(cuò)誤導(dǎo)致ssh重啟失敗:
Directive 'UseDNS' is not allowed within a Match block