ssh 与 netcat 配合使用,通过堡垒主机将连接转发到内部机器

ssh 与 netcat 配合使用,通过堡垒主机将连接转发到内部机器

我在公司数据中心有一台服务器,系统管理员是我。上面运行着一些虚拟机。主服务器可以通过 SSH 从互联网访问。局域网内有些人访问虚拟机,这些虚拟机的局域网 IP 是

192.168.1.1  
192.168.1.2  
192.168.1.3
192.168.1.4

主机是互联网的堡垒主机,其 IP 为 192.168.1.50,只有我可以访问它。我必须让互联网上的人们访问我上面提到的内部机器的 IP。我知道隧道是一种好方法,但人们相当不懂技术,不想进入隧道等行话。所以我找到了一个解决方案,如上所述此链接 在网关机器 192.168.1.50 的 .ssh/config 文件中,我添加了以下内容

Host securehost.example.com     
ProxyCommand ssh [email protected] nc %h %p

现在我的问题是,我是否需要在堡垒主机(网关)上为那些可以通过 SSH 连接到内部机器的用户创建单独的帐户,并且在每个用户的 .ssh/config 中我是否需要进行上述输入,或者我将 .ssh/config 准确地放在网关上。

还有 ssh[电子邮件保护]

用户 1 仅存在于内部机器 192.168.1.1 上,而不存在于网关上,这是正确的语法吗?因为内部机器可以被外部世界访问,因为

site1.example.com
site2.example.com
site3.example.com
site4.example.com

但 SSH 仅适用于 example.com 且只能用于一个用户。那么我该如何.ssh/配置
1)我应该使用网关 .ssh/config 上 ProxyCommand 的正确语法是什么,或者我应该使用
ProxyCommand ssh [email protected] nc %h %p

ProxyCommand    ssh [email protected] in nc %h %p

2)我是否应该在网关上创建新的用户帐户,或者在 ssh_config 上的 AllowedUsers 中添加它们就足够了?

答案1

ProxyCommand 指令必须在客户端机器上指定,而不是网关机器,这将使用户的操作更加复杂。基本上从客户端来说,你要说的是 ssh[电子邮件保护]使用[电子邮件保护]作为代理。

每个用户都需要有一个 ssh 帐户,但它可以是共享帐户,因为“代理用户名”仍在客户端指定。

相关内容