允许 Chroot 用户使用公钥或密码验证

允许 Chroot 用户使用公钥或密码验证

我管理着一个遗留系统,许多客户连接到该系统来使用大量科学数据文件。目前这些用户通过 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

相关内容