用户使用 openssh 密钥连接 SFTP 服务器

用户使用 openssh 密钥连接 SFTP 服务器

我希望能够允许用户使用我在 keygen 中生成的 openssh 密钥连接到我的 SFTP 服务器。我该如何实现这一点?

答案1

用户通常应该使用自己的密钥进行连接。

我假设您指的是从命令行连接,而 SFTP 使用 SSH 协议。因此,如果用户安装了 ssh-copy-id,他们将需要将其公共 SSH 密钥复制到其主目录中的 .ssh/authorized_keys。

如果他们还没有密钥,请生成密钥,让他们运行以下命令:

$ ssh-keygen -t rsa -b 2048

然后,如果他们安装了“ssh-copy-id”,请使用以下命令复制到您的服务器:

$ ssh-copy-id user@host

否则,以下 Bash 单行命令始终有效:

$ PUB="$(cat ~/.ssh/id_rsa.pub)"; ssh user@host "mkdir -p ~/.ssh; echo $PUB >> ~/.ssh/authorized_keys; chmod 700 ~/.ssh; chmod 600 ~/.ssh/authorized_keys"

只要在您的 sshd_config 中启用了公钥认证,用户现在就能够使用公钥认证访问您的 SFTP 服务器。

相关内容