公司搭建一个sftp服务器
其实sftp服务器就是用ssh服务关联的一个内置应用
启动ssh服务就可以连接sftp服务,端口默认22
在linux新建用户
# useradd -g ftpuser -s /sbin/nologin -M ftpuser
# echo 'ftpuser' |passwd --stdin ftpuser
编辑/etc/ssh/sshd_config
#Subsystem sftp /usr/libexec/openssh/sftp-server #需要把这行注释
Subsystem sftp internal-sftp #
Match User ftpuser #限制的用户
ChrootDirectory /data/test/ #限制登陆目录
ForceCommand internal-sftp #限制root的ssh登录
AllowTcpForwarding no
X11Forwarding no
备注:
问题1:
ChrootDirectory设置的目录权限及其所有的上级文件夹权限,属主和属组必须是root;
ftpuser@localhost's password:
packet_write_wait: Connection to ::1 port 22: Broken pipe
Couldn't read packet: Connection reset by peer
问题2:
sftp> mkdir 123
Couldn't create directory: Permission denied
需要在ChrootDirectory下新建目录,属主属组需要属于ftpuser,cd /刚新建的目录,创建文件才不会报错。