ssh ForceCommand 与 Match

ssh ForceCommand 与 Match

我尝试设置一个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属于group1user_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 密钥。

相关内容