個人Windows 7計算機上運行的是Ubuntu VM。 如何設置它以即可以經過SSH從外部訪問Web服務器? 安全
我發現了一些步驟( 在VirtualBox主機和來賓VM之間進行設置SSH訪問 )能夠從主機向ssh來賓,可是仍然存在經過路由器訪問它的問題。 bash
我想我能夠在Windows機器上安裝SSH服務器,而後進行幾回隧道傳輸(儘管我不肯定100%肯定要使用本地,動態等等,仍是如何設置多個隧道?),可是有沒有一種方法可使個人路由器直接訪問VM,以便我能夠直接移植到它? 服務器
保留NAT適配器並添加第二個僅主機適配器的效果很是好,這對於筆記本電腦(外部網絡老是在變化的地方)相當重要。 網絡
http://muffinresearch.co.uk/archives/2010/02/08/howto-ssh-into-virtualbox-3-linux-guests/ ssh
記住要在virtualbox自己中建立一個僅主機的網絡(GUI->設置->網絡),不然您不能在來賓上建立僅主機的接口。 tcp
登陸來賓Linux VirtualBox VM的最佳方法是端口轉發 。 默認狀況下,您應該已經有一個使用NAT的接口。 而後轉到網絡設置,而後單擊端口轉發按鈕。 添加一個新規則 。 做爲規則名稱,插入「 ssh」。 做爲「主機端口」,插入3022。做爲「訪客端口」,插入22。規則的全部其餘內容均可以保留爲空白。 ide
或從命令行 spa
VBoxManage modifyvm myserver --natpf1 "ssh,tcp,,3022,,22"
其中「 myserver」是建立的VM的名稱。 檢查添加的規則:
VBoxManage showvminfo myserver | grep 'Rule'
就這樣! 請確保您不要忘記在VM中安裝SSH服務器:
sudo apt-get install openssh-server
要將SSH SSH到訪客VM,請輸入:
ssh -p 3022 user@127.0.0.1
user
是您在VM中的用戶名。
在VirtualBox文檔中找到了有關如何使用NAT配置端口轉發的很好的解釋: http : //www.virtualbox.org/manual/ch06.html#natforward
只需將「網絡設置」設置爲橋接就能夠了。
執行此操做時,您的IP將會更改。 可是,就我而言,它並無當即改變。 ifconfig
返回了相同的IP。 我從新啓動了虛擬機,而後將IP設置爲以192. *開始的IP。我當即被容許經過ssh訪問。
在安全網絡上,將您的網絡設置爲橋接可能不起做用。 管理員只能在每一個端口上容許一個MAC地址,或者若是交換機在一個端口上檢測到多個Mac,則甚至可能阻塞該端口。
我認爲最好的解決方案是設置其餘網絡接口,以處理您但願在計算機上運行的其餘服務。 所以,當我將筆記本電腦帶回家時,我有一個橋接接口,能夠進行橋接,而且當我想在鏈接時從筆記本電腦經過SSH進入虛擬機時,能夠從網絡上的其餘設備以及僅主機適配器經過SSH進入它到校園中的eduroam wifi網絡。