有时为了特殊需求,
服务器需要开通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来建立有权限的目录,否则无法使用。