我尝试设置一个ssh
服务器,它是可通过 访问的其他服务器的一种跳转主机ssh
。为此,我使用ForceCommand
如下命令:
Match Group g_ssh
ForceCommand nc -q0 my_internal_server 22
到目前为止,这工作正常。但现在我想将 match 与指令一起使用Host
。所以我的新配置如下所示:
Match Group g_ssh Host my_internal_server
ForceCommand nc -q0 my_internal_server 22
Match Group g_ssh Host my_2_int_server
ForceCommand nc -q0 my_2_int_server
但这不起作用。这是因为 not workingHost
指令而不起作用。
我也尝试过:
Match Host my_internal_Server
ForceCommand nc -q0 my_internal_server 22
这也不起作用。
Match
Host
关于如何使用with有什么建议吗Group
?
答案1
您无法匹配目标主机——传入的连接对其一无所知。
如果你看我的回答的文字https://superuser.com/a/392717/19223第一项讨论的是用户 .config
文件,而第二项讨论的是服务器 sshd_config
文件。
最后,我建议Match Group
为每个目的地使用和创建不同的用户。例如
Match Group group1
ForceCommand nc -q0 my_internal_server 22
Match Group group2
ForceCommand nc -q0 my_2_int_server 22
然后创建不同的用户,比如user_1
属于group1
和user_2
属于group2
。然后在用户.ssh/config
文件中:
Host internal_server_1
ProxyCommand ssh -q server
User user_1
Host internal_server_2
ProxyCommand ssh -q server
User user_2
这样用户就可以使用
ssh internal_server_1
而不必关心用户名和目标主机。
不要忘记在主服务器上为每个 user_1、user_2 帐户创建用户帐户并在其中输入正确的 SSH 密钥。