我有一个服务器,使我的服务的一些用户使用SFTP上传文件。 当我谈论用户时,我不能确定他们是谁,也不知道有多less人可以访问。
我设置了访问权限如下:
PasswordAuthentication yes 。 internal-sftp的组internal-sftp 。 ChrootDirectory %h ,即/srv/sftp/incoming 。 /bin/false 。 还有什么我可以做的,以确保一个这样的用户范围的SFTP访问?
机器运行ArchLinux。 networking服务器是nginx但/srv/sftp/incoming中的文件不是由networking服务器提供的。 这只是供内部使用。
您可以为每个用户设置SSH密钥,因此他们必须使用私钥访问SFTP服务器。 让客户自己生成私钥和公钥,让他们发送公钥给你,所以你可以把它添加到~/.ssh/authorized_keys文件中。
您可以自己生成私钥和公钥,但这意味着您需要以某种方式将私钥发送给客户端,从而使其不安全。
ssh-keygen -t rsa
当密钥被设置时,你可以禁用密码login,所以他们必须使用私钥才能访问服务器。
PasswordAuthentication no