允许Chroot用户使用Pubkey或密码身份validation

我pipe理大量客户端连接到的遗留系统,以便消耗大量的科学数据文件。 目前,这些用户通过SFTP进行连接,而且由于经验级别和用例的巨大差异,密码authentication是最简单的方式。 他们中的很多人只是销售人员从Windows连接和使用类似FileZilla的东西,这会造成巨大的支持负担。

一个新的客户坚持(合理)SSH公钥authentication。 什么是最好的方式为我的新客户提供这个选项,而不会中断其他100多个客户正在使用的身份validation策略?

我目前的sshd_config看起来像这样:

Match group sftpusers ChrootDirectory /sftp/%u X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp -l VERBOSE -f LOCAL6 

显然我必须在文件的前面添加一个前面的“PasswordAuthentication yes”行。

服务器configuration为仅允许用户使用SFTPlogin,所有最终用户都是该“sftpusers”组的成员。

跟进愚蠢的问题:我甚至会为没有主文件夹的用户放置一个SSH密钥?

我甚至会在哪里放置一个没有家庭文件夹的用户的SSH密钥?

有选项AuthorizedKeysFile ,它定义了授权密钥的存储位置。 它默认为主目录,但不一定是。 相当普遍的是这种configuration:

 AuthorizedKeysFile /etc/ssh/%u/authorized_keys