如何将ssh密钥添加到远程服务器?

时间:2013-09-09 02:20:45

标签: linux ssh ssh-keys

在我的VPS中,运行ssh-add -l并返回:The agent has no identities. 但我之前已经cat ~/.ssh/id_rsa.pub | ssh user@hostname 'cat >> .ssh/authorized_keys'

然后我运行ssh-add ~/.ssh/authorized_keys 它返回@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Permissions 0644 for '/home/deployer/.ssh/authorized_keys' are too open. It is recommended that your private key files are NOT accessible by others. This private key will be ignored.

ssh git@github.com仍然可以获得报告Permission denied (publickey).

3 个答案:

答案 0 :(得分:8)

要将ssh-key添加到ssh-agent,您必须将其添加到:

ssh-add

之后确保添加了您的密钥:

ssh-add -l

要解决您的权限问题,请尝试:

chmod 0600 ~/.ssh/authorized_keys

答案 1 :(得分:0)

伙计,请使用pssh。创建一个包含要添加文件的所有主机名的文件,然后运行类似:

pssh -h [hostsfile] -P'echo“sshkeystringBLARG etc ...”>> /家庭/ [用户] /。SSH / authorized_hosts'

您可以相应地修改cmd,然后离开。

享受

答案 2 :(得分:0)

当前投票最多的答案显然是错误的,因为它无法理解该问题。 OP正在询问如何授权远程服务器上的密钥,而不是如何向本地ssh-agent添加密钥。

要将密钥添加到远程服务器,请使用本地PC上的ssh-copy-id命令:

ssh-copy-id -i path/to/key.pub username/remoteHost

这会使用path/to/key.pub作为登录名,将位于remoteHost的具有正确权限的公钥添加到位于user的服务器上。