0

当我尝试通过堡垒服务器连接到专用网络中的 EC2 时,我收到以下消息:

<username>@<ec2-server>: Permission denied (publickey)

但是,我可以从本地机器 ssh 到堡垒,也可以从堡垒服务器 ssh 到 EC2,

这是.ssh/config我正在使用的:

Host <ec2-servers>*
    IdentityFile ~/.ssh/id_rsa
    User <username>

这是我用来 ssh 的命令:

ssh -J <bastion-server> <ec2-server>

注意: 权限很好(700~/.ssh/和 600 ~/.ssh/*

在此先感谢您的帮助!

4

3 回答 3

0

远程系统上可能没有名为“用户名”的用户。确保两个系统具有相同的用户名和公钥。

于 2021-05-29T22:51:59.677 回答
0

您可以尝试以下配置,因为username您提到的两者都相同jump host并且actual instance您正在尝试连接?

Host 10.2.2.* #ec2 servers cidr range
    ProxyJump jumpuser@proxy.example.com 

我认为IdentityFile ~/.ssh/id_rsa可能不需要指定,因为这似乎是您正在使用的系统上的默认密钥。

确保jumpuser存在具有适当的权限。

仅出于调试目的,使用调试选项手动运行它

ssh -vvv -J username@host1:port username@host2:port   

将提供大量信息,您可能会看到问题出在哪里。

如果您正在使用ssh-agent它,请删除所有身份并尝试也可能会有所帮助。

ssh-add -D

如何使用跳转主机访问远程服务器

如何设置 SSH 跳转服务器

于 2021-05-30T11:33:01.777 回答
-1

authorized_keys通过在远程 ec2 实例中添加本地 ssh 公钥来修复它。

于 2021-06-02T11:08:17.537 回答