我希望能够允许用户使用我在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中启用。