方便地通过 SSH 连接到内部主机?

方便地通过 SSH 连接到内部主机?

我最近发现,使用~/.ssh/config,我可以节省大量击键并自动执行长命令行,指定大量每个主机的默认值。现在我注意到该工具的强大功能,我想知道它是否可以适合我的另一个用例。

我可以访问两台主机,bastionwikispy。Bastion 有一个外部 IP,wikispy只能从内部 IP 中看到。这意味着通常为了连接到wikispy,我需要bastion先 ssh 到 ,然后调用ssh wikispy。显然,端口转发之类的事情会变得复杂,而这正是我想要避免的。

这就引出了一个问题:我能否以某种方式创建~/.ssh/config条目来告知“当用户请求标记为 的主机时wikispy,实际连接到bastion,然后调用ssh wikispy”?是否可以透明地工作,以便我可以调用类似的东西ssh wikispy -L 9999:localhost:9999bastion转发端口,以便让我从 内部访问它wikispy

答案1

ProxyCommand看起来,和的组合nc很有用。这里有一个解决方案 - 将以下内容添加到~/.ssh/config

Host bastion
HostName EXTERNAL_IP
User d

Host wikispy
HostName INTERNAL_IP
User d
ProxyCommand ssh bastion nc -q0 %h 22

根据本文,通过这种方式,您可以获得多个级别的嵌套。

相关内容