SSH的“虚拟主机”
参见英文答案 >
Is there a name based virtual host SSH reverse proxy?7个
我们有一台运行大量客户机的远程Xen服务器(在Linux上),只有几个IP可用. 每个来宾机应该可以通过外部世界的SSH直接访问. 现在,我们为每台客户机器分配一个单独的域名,指向少数可用IP之一.我们还为该客户机分配端口号. 因此,要访问名为foo的计算机,应该执行以下操作: $ssh foo.example.com -p 12345 …并访问名为bar的机器: $ssh bar.example.com -p 12346 foo.example.com和bar.example.com都指向相同的IP. 是否有可能以某种方式摆脱此配置中的自定义端口并配置SSH服务器,侦听该IP(或防火墙或服务器端的任何内容),以便根据域地址将传入连接路由到正确的来宾计算机,以便按照预期的方式工作? $ssh foo.example.com hostname # prints foo $ssh bar.example.com hostname # prints bar 请注意,我确实知道.ssh / config和相关的客户端配置解决方案,我们现在正在使用它.这个问题具体是关于零客户端配置解决方案. 解决方法foo / Client ----- Xen server bar 这听起来像SSH网关是你正在寻找的. 首先,在Xen服务器上创建2个新用户foo,bar: Xen # useradd foo Xen # useradd bar 生成密钥对并将公钥复制到foo-server和bar-server: Xen # su - foo Xen $ssh-keygen Xen $ssh-copy-id -i ~/.ssh/id_rsa.pub foo-user@foo-server (为酒吧用户做同样的事) 现在,您可以从Xen服务器(SSH网关)登录到foo-server和bar-server,而无需提示输入密码. 下一步是让客户端使用公钥对Xen服务器进行身份验证: Client $ssh-keygen Client $ssh-copy-id -i ~/.ssh/id_rsa.pub foo@Xen 最后一步是让Xen服务器打开与相应内部服务器的第二个连接.访问Xen,切换到foo,打开?/ .ssh / authorized_keys文件并更改: ssh-rsa AAAAB3N...== user@clienthost 至: command="ssh -t -t foo-user@foo-server" ssh-rsa AAAAB3N...== user@clienthost 样本结果: $ssh foo-user@Xen Last login: Thu Nov 10 13:02:25 2011 from Client $id uid=500(foo-user) gid=500(foo-user) groups=500(foo-user) context=user_u:system_r:unconfined_t $exit logout Connection to foo-server closed. Connection to Xen closed. $ssh bar-user@Xen Last login: Thu Nov 10 11:28:52 2011 from Client $id uid=500(bar-user) gid=500(bar-user) groups=500(bar-user) context=user_u:system_r:unconfined_t $exit logout Connection to bar-server closed. Connection to Xen closed. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |