在 运行 ssh-add 之后,当我尝试在 aws 上访问 ssh 时,我得到 "Permission denied (publickey)"

After running ssh-add when I'm trying to access ssh on aws I'm getting "Permission denied (publickey)"

我试图为 GitHub 添加 ssh 密钥并在 ssh 文件夹中进行了一些更改,因为我在 ssh-add 命令期间遇到错误。 当我尝试通过 ssh 登录服务器后,出现错误

user@<IP Address> Permission denied (publickey).

这是新的 AWS 实例,目前尚未设置任何内容。刚刚尝试为 GitHub 身份验证添加 SSH 密钥。

首先,我为 GitHub 创建了 ssh public 密钥。

ssh-keygen -t rsa

然后在 ssh-add 命令期间,我遇到了权限被拒绝的错误,所以我对 ssh 密钥进行了一些权限更改。

sudo chmod -R 400 ~/.ssh/

然后尝试 ssh-add

ssh-add ~/.ssh/id_rsa Could not open a connection to your authentication agent.

当我在 ~/.ssh/ 目录中列出文件时,我得到了这个:

ls: cannot access '/home/ubuntu/.ssh/id_rsa': Permission denied ls: cannot access '/home/ubuntu/.ssh/..': Permission denied ls: cannot access '/home/ubuntu/.ssh/.': Permission denied ls: cannot access '/home/ubuntu/.ssh/authorized_keys': Permission denied ls: cannot access '/home/ubuntu/.ssh/id_rsa.pub': Permission denied total 0 d????????? ? ? ? ? ? . d????????? ? ? ? ? ? .. -????????? ? ? ? ? ? authorized_keys -????????? ? ? ? ? ? id_rsa -????????? ? ? ? ? ? id_rsa.pub

然后退出服务器后,我无法通过 SSH 再次登录。

我无法连接到服务器,如有任何帮助,我们将不胜感激。

提前致谢。

这是错误:

sudo chmod -R 400 ~/.ssh/

您正在通过此命令授予 .ssh 权限,这限制了登录以检查授权密钥。

将其更改为sudo chmod -R 400 ~/.ssh/*,这应该可以解决问题。

此外,

ssh-add ~/.ssh/id_rsa
Could not open a connection to your authentication agent.

这是因为您可能忘记启动 ssh agent。在后台启动 ssh-agent

$ eval "$(ssh-agent -s)"

希望有用!