【问题标题】:How to SSH to target AWS machine using a bastion host如何使用堡垒主机通过 SSH 连接到目标 AWS 机器
【发布时间】:2018-07-16 09:53:03
【问题描述】:
假设Machine A 是我最终要通过SSH 连接的目标机器,而Machine B 是桥接机器(堡垒主机)。可以使用相同的 PEM 文件访问这两台机器。
Machine A 的安全组只允许来自Machine B 的 SSH 连接。所以如果我想连接到Machine A,我需要通过Machine B连接。
如果不将PEM file 放在堡垒主机上,如何做到这一点?
【问题讨论】:
标签:
amazon-web-services
ssh
aws-security-group
【解决方案1】:
您可以使用ProxyCommand。我更喜欢在 ~/.ssh/config 文件中定义以下内容。
host MachineB
HostName <MachineB-IP>
IdentityFile <Full Path of .pem file>
User username
host MachineA
HostName <MachineA-IP>
ProxyCommand ssh MachineB nc -w 120 %h %p
IdentityFile <Full Path of .pem file>
User username
然后像这样访问MachineA:
$ ssh MachineA
【解决方案2】:
要通过公共子网中的堡垒主机访问私有子网中的 EC2 实例,而不将 SSH 私钥放在堡垒上,您需要使用 SSH 代理转发。
提供具体说明here。