用于将公钥发送到远程主机的命令

时间:2011-08-09 02:03:16

标签: ssh public-key-encryption

我记得有一个命令可以将公钥发送到我想要的远程主机。我想使用该功能将我的一个公钥发送到另一个主机。我怎么能这样做?

5 个答案:

答案 0 :(得分:52)

您正在寻找ssh-copy-id。所有这个命令都是创建.ssh.ssh/authorized_keys并在它们不存在时适当地设置它们的权限。然后,它会将您的公钥附加到.ssh/authorized_keys的末尾。

答案 1 :(得分:12)

您可能正在寻找此命令:

so

它将您的公钥附加到服务器授权密钥。

Source

答案 2 :(得分:1)

如果您的服务器已设置为not accept password-based login,则可能会出现analysis_url错误。

这是另一种使用Permission denied (publickey)发送密钥的方法,因此您无需进行身份验证。它只能在本地网络上运行,但您可以使用端口转发在Internet上执行此操作。

在服务器上:

netcat

在客户端上(将$ nc -l 55555 >> ~/.ssh/authorized_keys 替换为服务器的主机名或IP):

HOSTNAME

您可以使用您选择的开放端口替换$ nc HOSTNAME 55555 < ~/.ssh/id_rsa.pub

来源:chat over lan from linux to linux?

总新手的附录:我认为没有人提到这一点,但如果你得到55555,则需要先生成一个密钥。 Ubuntu帮助页面有一个关于Generating RSA Keys的精彩指南。

答案 3 :(得分:0)

所选答案是正确的,但这里有一个简单的bash脚本,适用于任何想要组合keygen + copy的人:https://gist.github.com/wilcollins/bc420581da87962b8b47

此文件在客户端计算机上创建SSH密钥,应用适当的文件权限,复制到本地〜/ .ssh目录,&amp;复制到指定的服务器。

答案 4 :(得分:0)

在其他答案中,没有ssh-copy-id的示例,因此它是(首先需要生成密钥)

ssh-copy-id user@url