如何解决ssh AWS ec2 堡垒权限被拒绝
当我尝试通过堡垒服务器连接到专用网络中的 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>
注意:权限很好(~/.ssh/
为 700,~/.ssh/*
为 600)
预先感谢您的帮助!
解决方法
远程系统上可能没有名为“用户名”的用户。确保两个系统具有相同的用户名和公钥。
,您能否像您提到的 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
How to Access a Remote Server Using a Jump Host
How to Set Up an SSH Jump Server
,通过在远程 ec2 实例的 authorized_keys
中添加本地 ssh 公钥来修复它。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。