8

在我的 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).

4

3 回答 3

11

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

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

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

path/to/key.pub这会将位于具有正确权限的公钥添加到服务器remoteHostusername用作登录名。请注意,这似乎还需要公钥旁边的私钥(path/to/key本示例中的文件)。

于 2019-11-16T20:06:10.220 回答
6

要将您的 ssh-key 添加到您的 ssh-agent 中,您必须使用以下命令添加它:

ssh-add

之后确保添加您的密钥:

ssh-add -l

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

chmod 0600 ~/.ssh/authorized_keys
于 2013-09-09T04:50:33.947 回答
-1

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

pssh -h [hostsfile] -P 'echo "sshkeystringBLARG etc..." >> /home/[user]/.ssh/authorized_hosts'

您可以相应地修改 cmd 并离开。

享受

于 2013-09-09T18:28:54.200 回答