我管理着一个遗留系统,许多客户连接到该系统来使用大量科学数据文件。目前这些用户通过 SFTP 连接,由于经验水平和用例千差万别,密码验证一直是与他们所有人合作的最简单方法。他们中的许多人只是从 Windows 连接并使用 FileZilla 之类的软件的销售人员,这会造成巨大的支持负担。
一位新客户坚持(理所当然地)使用 SSH 公钥身份验证。我该如何为新客户提供此选项,同时又不影响其他 100 多个客户正在使用的身份验证策略?
我当前的 sshd_config 如下所示:
Match group sftpusers
ChrootDirectory /sftp/%u
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp -l VERBOSE -f LOCAL6
显然,我必须在文件上方添加一行“PasswordAuthentication yes”。
该服务器配置为仅允许用户使用 SFTP 登录,并且所有最终用户都是此“sftpusers”组的成员。
后续愚蠢的问题:对于没有主文件夹的用户,我应该将 SSH 密钥放在哪里?
答案1
对于没有主文件夹的用户,我应该将 SSH 密钥放在哪里?
有一个选项AuthorizedKeysFile
,它定义了授权密钥的存储位置。它默认为主目录,但不一定如此。这种配置也很常见:
AuthorizedKeysFile /etc/ssh/%u/authorized_keys