小编pko*_*out的帖子

如何配置 SSH 以使用一个 SSH 密钥通过代理连接到主机

我有这样的网络拓扑:

Laptop -> Bastion -> Destination
Run Code Online (Sandbox Code Playgroud)

Bastion 和 Destination 是 EC2 实例,使用相同的 SSH 密钥进行 SSH 访问。但是,无法从 Internet 访问 Destination。其 IP 地址仅对堡垒可见。

我能够连接到堡垒并使用代理转发来传递 SSH 密钥,然后从堡垒单独连接到目标服务器。但是,我想以.ssh/config这样一种方式配置我的文件,以便我可以使用笔记本电脑上的一个命令通过 SSH 连接到目标服务器。我当前的.ssh/config文件如下所示:

Host Bastion
  Hostname <redacted>
  IdentityFile ~/.ssh/mykey.pem

Host Destination
  Hostname <redacted>
  User ubuntu
  ProxyCommand ssh -A bastion-dev -W %h:%p
Run Code Online (Sandbox Code Playgroud)

但是当我跑

ssh -A ubuntu@Destination
Run Code Online (Sandbox Code Playgroud)

SSH 响应:

Permission denied (publickey).
ssh_exchange_identification: Connection closed by remote host
Run Code Online (Sandbox Code Playgroud)

如何正确地将 SSH 密钥从我的本地传递到堡垒服务器,而不必将其存储在服务器上?我可以通过.ssh/config文件配置所有这些,以便我可以使用单个命令登录目标服务器吗?

linux ssh proxy

1
推荐指数
1
解决办法
4849
查看次数

标签 统计

linux ×1

proxy ×1

ssh ×1