有時為了特殊需求,
服務器需要開通sftp給對端服務器傳輸文件,代替ftp的功能,這里編寫一下:
操作系統linux
1、新增用戶
useradd -g sftponly -s "/bin/false" -d "/ftp/usftpuser/" usftpuser
2、/etc/ssh/sshd_config
修改
Subsystem sftp internal-sftp
UsePAM yes
新增匹配用戶
Match User usftpuser
ChrootDirectory /ftp/usftpuser
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
注意:在這里/ftp/usftpuser/,usftpuser這個目錄必須是root用戶,并且是755的權限,否則無法使用。
service sshd restart
然后可以嘗試登陸了:
[root@cpsvpn ~]# sftp usftpuser@193.168.4.30
Connecting to 193.168.4.30...
usftpuser@193.168.4.30's password:
sftp>
sftp>
sftp> ls
sftp>
sftp> pwd
Remote working directory: /
注意:如果用戶usftpuser需要使用當前目錄,必須有管理root來建立有權限的目錄,否則無法使用。