在我的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).
答案 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
的服务器上。