昨天,我可以通过 SSH 连接到 ec2 实例。现在,同样的密钥似乎今天不起作用了。据我所知,一切都没有改变:
我有一个正在运行的代理
我做到了
ssh-add
然后ssh-add -l
它也能工作,但是真正的 ssh 命令返回 (Permission denied)
当我执行 ssh -vvv 时,它会向我显示以下日志:
Authentications that can continue: publickey
debug1: Trying private key: /u/.ssh/id_rsa
debug3: no such identity: /u/.ssh/id_rsa: No such file or directory
debug1: Trying private key: /u/.ssh/id_dsa
debug3: no such identity: /u/.ssh/id_dsa: No such file or directory
debug1: Trying private key: /u/.ssh/id_ecdsa
debug3: no such identity: /u/.ssh/id_ecdsa: No such file or directory
debug1: Trying private key: /u/.ssh/id_ed25519
debug3: no such identity: /u/.ssh/id_ed25519: No such file or directory
debug2: we did not send a packet, disable method
debug1: No more authentication methods to try.
我是 Linux 新手,不知道发生了什么。这到底是什么意思?
答案1
再次运行 ssh-add 会破坏您的原始密钥。因此,您当前的密钥与昨天有效的密钥不同。
重新开始可能会更容易,一旦您让它们工作,就不会打扰您的密钥。输入以下命令:
ssh-keygen -t rsa -b 4096 -C "key_label"
- 这将生成密钥对;Enter当提示保存密钥文件时按下该键;
在提示时输入您想要的密码,或者直接点击Enter“无密码”;
eval "$(ssh-agent -s)"
- 验证 ssh-agent 是否正在运行;ssh-add ~/.ssh/id_rsa
- 将您的新 ssh 密钥添加到 ssh-agent。