用户用openssh键连接SFTP服务器

我希望能够允许用户使用我在keygen中生成的openssh键连接到我的SFTP服务器。 我将如何做到这一点?

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

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

要生成他们的密钥,以防他们还没有,请让他们运行以下命令:

$ ssh-keygen -t rsa -b 2048 

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

 $ ssh-copy-id user@host 

否则,下面的Bash oneliner总是起作用:

$ 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"

用户现在应该可以使用公共密钥身份validation访问您的SFTP服务器,只要在sshd_config中启用。