2013-11-09 153 views
0

我有以下情形:訪問使用SSH隧道特定端口上的服務

我需要使用SSH隧道外網機器(9999端口)上訪問服務。該機器的IP地址是10.0.0.7。我可以訪問虛擬機(IP:10.0.0.3),我可以通過端口22上的ssh使用ssh從網絡外部訪問。

如何從10.0.0.7上的端口9999上訪問服務我的家庭網絡?

我已嘗試反向轉發端口,但沒有運氣。

此外,我們有一些在網絡上運行的端口9999(IP範圍從10.0.0.6到10.0.0.15)的輪詢機器。是否有可能訪問它們全部?

感謝您的幫助!

+1

你是什麼意思沒有運氣?反向隧道應該工作:ssh -L9999:10.0.0.7:9999 10.0.0.3 - 然後localhost:9999應該轉發到10.0.0.7:9999 – Ben

回答

1

使用SSH的標準隧道應該工作:

ssh -L9999:10.0.0.7:9999 10.0.0.3 

然後,您應該能夠連接到localhost:9999,這將等同於連接到10.0.0.7:9999。如果您想爲大量用戶做到這一點,你可以做很多的-L聲明,但第一個端口必須是唯一的:

ssh -L9999:10.0.0.7:9999 -L9998:10.0.0.8:9999 10.0.0.3 

然後,你必須localhost:9999localhost:9998。加快這,你可以添加以下到您的.ssh/config文件:

Host 10.0.0.3 
    LocalForward 9999 10.0.0.7:9999 
    LocalForward 9998 10.0.0.8:9999 
    LocalForward 9997 10.0.0.9:9999 
    LocalForward 9996 10.0.0.10:9999 
    LocalForward 9995 10.0.0.11:9999 
    LocalForward 9994 10.0.0.12:9999 
    LocalForward 9993 10.0.0.13:9999 

然後ssh 10.0.0.3將自動爲您設置的隧道。

+0

傑出!這工作。 – rameezk