我已经配置了一个堡垒或(跳转)框来访问虚拟专用网络。
#ssh_config
Host bastion
HostName 14.90.140.120
User me
IdentityFile ~/.ssh/me
ForwardAgent yes
Host 10.1.*
User me
IdentityFile ~/.ssh/me
ProxyCommand ssh bastion -W %h:%p
我能够毫无问题地通过 ssh 进入堡垒和 10.1.1.6 地址。
我想做的是添加如下条目。注意:我目前没有时间使用 DNS,但这是我的首选方法。
#/etc/hosts
10.1.1.6 my-host-inside-vpc.corp.internal
但是,当我这样做并尝试访问机器时,我得到以下信息
➜ ~ ssh -vvv my-host-inside-vpc.corp.internal
debug1: Reading configuration data /home/me/.ssh/config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to my-host-inside-vpc.corp.internal [10.1.1.6] port 22.
此时操作超时。
Host
匹配您连接时使用的名称,而不是dns 解析后的 ip。尝试
Host *corp.internal
改用。根据我们在评论中的讨论,如果您想使用符号名称,但需要将它们解析为堡垒主机的 IP,那么您可以像这样在 ProxyCommand 中使用子表达式。