我有一个小型的本地网络.只有一台机器可供外界使用(这不容易改变).我希望能够设置它,以便标准端口上没有的ssh请求转到另一台机器.这可能吗?如果是这样,怎么样?
哦,所有这些机器都在运行Ubuntu或OS X.
另一种方法是使用ssh隧道(在客户端发生).
你可以这样做一个ssh命令:
ssh -L 8022:myinsideserver:22 paul@myoutsideserver
这会将您连接到可从外部访问的计算机(myoutsideserver),并通过ssh连接到服务器上的端口22(标准ssh端口)创建一个隧道,该端口只能从内部访问.
然后你会做另一个这样的ssh命令(让第一个仍然连接):
ssh -p 8022 paul@localhost
然后,通过第一个ssh连接通过myinsideserver连接到本地主机上的端口8022的连接.
您可能需要在myoutsideserver上执行某些操作以允许转发ssh端口.我现在仔细检查一下.
编辑
嗯.ssh manpage说:**只有超级用户才能转发特权端口.**
这对我来说意味着第一个ssh连接必须是root用户.也许其他人可以澄清这一点.
只要转发端口(在本例中为8022)不是特权端口(如22),看起来就不需要超级用户权限.感谢Mike Stone的澄清.