#yyds干货盘点# 搭建sftp服务器

网友投稿 821 2022-08-29

#yyds干货盘点# 搭建sftp服务器

#yyds干货盘点# 搭建sftp服务器

useradd -d /home/cup_sftp -g sftp -s /bin/false cup_sftpuseradd -d /home/boc_sftp -s /sbin/nologin boc_sftpuseradd -d /home/ceb_cross_sftp -g ceb_cross_sftp -s /bin/false ceb_cross_sftp

建立sftp用户 test

useradd test, 此时会在创建sftp用户目录/home/testchown -R root:test /home/testchmod -R 750 /home/test

2.创建上传目录file,赋予权限

cd /home/testmkdir filechown -R test:test /home/test/filechmod -R 755 /home/test/file

2.修改/etc/ssh/sshd_config,添加下列配置

Subsystem sftp internal-sftpMatch User ceb_cross_sftpAllowTcpForwarding noX11Forwarding noForceCommand internal-sftpChrootDirectory /home/ceb_cross_sftp

相应目录权限修改:

chown root:username /home/usernamechmod 755 /home/usernamemkdir -p /home/username/uploaddirchown username:username /home/username/uploaddir?

重启服务:

systemctl restart sshd.service

​​cup_sftp]# sftp cup_sftp@127.0.0.1The authenticity of host '127.0.0.1 (127.0.0.1)' can't be established.RSA key fingerprint is 13:be:7d:f9:be:47:83:99:dd:ac:51:5f:a7:a4:69:ca.Are you sure you want to continue connecting (yes/no)? yesWarning: Permanently added '127.0.0.1' (RSA) to the list of known hosts.cup_sftp@127.0.0.1's password:Connection to 127.0.0.1 closed by remote host.Couldn't read packet: Connection reset by peer

查看日志:

[root@localhost home]# tail /var/log/messagesAug 8 12:19:22 localhost sshd[26284]: Accepted password for cup_sftp from 10.132.97.87 port 41664 ssh2Aug 8 12:19:22 localhost sshd[26298]: fatal: bad ownership or modes for chroot directory "/home/cup_sftp"

解决方法: 目录权限设置要遵循2点:

ChrootDirectory设置的目录权限及其所有的上级文件夹权限,属主和属组必须是root;

ChrootDirectory设置的目录权限及其所有的上级文件夹权限,只有属主能拥有写权限,权限最大设置只能是755。

如果不能遵循以上2点,即使是该目录仅属于某个用户,也可能会影响到所有的SFTP用户。

[root@localhost home]# chmod 755 cup_sftp[root@localhost home]# cd cup_sftp/[root@localhost cup_sftp]# mkdir sftp && chown cup_sftp sftp

然后在测试通过

# sftp -oport=22 cup_sftp@10.132.97.87cup_sftp@10.132.97.87's password:Connected to 10.132.97.87.sftp> lssftpsftp> cd sftpsftp> lssftp> pwdRemote working directory: /sftpsftp> exit

可以看到用户可以上传文件到根/sftp目录,且已经限制用户在家目录,同时该用户也不能登录该机器。

(1)常见错误 Couldn't read packet: Connection reset by peer 主要是权限问题,上面连接测试时有提到。

(2)访问出现提示This service allows sftp connections only 这是因为在server端设置的/etc/sshd_config文件中,需要设置为:

AllowTcpForwarding 应该设置为yes才可。

如果没有设置为yes的话,用户就只能通过sftp访问指定目录,而且不能进行ssh登录.

只有把 AllowTcpForwarding no 改为 AllowTcpForwarding yes ,用户才能通过ssh登录然后访问目录。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:codevs 3990 中国余数定理 2
下一篇:软件的Alpha、Beta、GM、OEM、LTS等版本的含义(软件的alpha和beta)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~