Vmware的網絡設置採用NAT方式,希望通過ssh實現在本地WIN7系統下訪問虛擬機中的Linux系統。
1. 做地址、端口映射。打開Virtual Network Editor (在開始菜單裏,或在VMware界面菜單)。打開NAT Setting頁,點擊Port Forwarding… -> Add..。
第一步:先實現本機SSH到虛擬機。首先檢查你的Ubuntu是否安裝了SSH,敲入下面的代碼:
-
ps -e|grep ssh
1620 ? 00:00:00 ssh-agent
如果結果顯示的像上面的這樣,只有ssh-agent,那說明ssh-server還沒有啓動,或者還沒安裝,我們需要安裝SSH服務,命令如下:
如果不安裝這個是訪問不了的。
sudo
apt-get install openssh-server
然後需要修改SSH的相關配置,在/etc/ssh/sshd_config文件中查找PermitRootLogin,查檢一下它的狀態是yes還是no,如果是no,要修改成yes。因爲安裝的是桌面版,你可以直接去這個文件夾裏查找,其實也可以使用vi編輯:vi
/etc/ssh/sshd_config
在配置文件裏,還有一些其它的信息,比如SSH登錄的端口,如果你希望自己的SSH別出心裁、與衆不同,你可以嘗試修改。改好之後,啓動SSH服務,命令如下:
sudo
/etc/init.d/ssh start
當然你也可以先啓動服務再改,沒有影響。這時候你就可以嘗試在Win7系統下ping你的虛擬主機了,如果你不知道虛擬主機的IP地址,可以使用這個命令查看:
-
ifconfig
Windows系統下的命令是ipconfig,注意它們有一個字母的差別。
我ping了一下,結果沒ping通,嘗試關閉ubuntu的防火牆(eanable/disable),命令如下:
sudo
ufw disable
現在終於可以ping通了。
到現在爲止,已經可以在本機用Putty的SSH來登錄到虛擬機了。下面講解如何讓局域網下的所有電腦都能訪問虛擬機。
=========================================
第二步:讓局域網中的其它電腦也能在SSH登錄。
依然是NAT橋接,現在我們就需要設置VM。因爲我裝的VM是英文版(雖然一開始的時候非常不習慣,可是摸索的時間長了,也就適應了),所以下面我說的設置步驟都是英文(英文太爛,還是不翻譯了)。
窗口化你的Ubuntu,然後選擇VM的菜單 – Edit – ‘Virtual Network Editor…’,點擊它,會彈出下面的窗口:
看上圖,選中“VMnet8”,然後點擊“NAT Settings…”打開NAT Settings對話框,見下圖:
這時我們就可以利用NAT Settings來爲虛擬機和內網做橋接,點擊“Add”,就會彈出一個對話框:
注意上圖有兩個端口,上面的是你本機的端口,下面的是虛擬機的端口,因爲是SSH登錄,所以都選擇22,當然如果你在SSH的配置文件裏真的別出心裁修改了端口的話,這裏就應該填寫你修改的端口。
然後就是連接類型,選擇TCP,虛擬機的IP地址,我的是192.168.13.128。
最下面是描述,隨便填寫。然後點“OK”確定,再點“OK”確定,再點“Apply”應用。
設置好了VM,然後再右擊你的Ubuntu標籤,然後點“Settings”:
注意這一步,必須要在VM 8以上的版本才能正常使用,如果你的VM版本較低,就必須先關閉Ubuntu,等設置好了再啓動,否則可能(只是可能~_~)會導致應用失敗。
點了“Settings”之後,會彈出這個窗口:這一步選
在這裏選擇橋接方式,就是我們之前設置的VMnet8(NAT)。然後點“OK”確定。
到這時,所有的設置都完成了,如果不出意外,你基本上可以使用局域網中的其它電腦SSH登錄到虛擬機了。
其它問題:
如果還是登錄失敗。請排查:
1、你有沒有設置root密碼?
桌面版Ubuntu,默認是沒有root密碼的,你需要設置一下,通過Ubuntu的終端terminal給它一個密碼。命令如下:sudo
passwd root
敲入密碼之後就會提示你輸入新的root密碼,要連續輸入兩次,比我還新的新手請注意:Linux下的密碼輸入時是不可見的。當然你也可以在ssh裏面用你安裝Ubuntu時的用戶登錄,然後通過 sudo -u root bash,再輸入密碼到root用戶
2、防火牆關閉了沒有?
如果你忘記關閉了Ubuntu的防火牆,請參考本文上面的命令來關閉,如果關閉了Ubuntu的防火牆還是不行,你可以再嘗試關閉本機的防火牆。Win7關閉防火牆的方法爲點擊右下角的小白旗,打開操作中心,然後更改操作中心設置,把網絡防火牆前面的對勾去掉。確定即可。
3、人品出現問題?
請檢查你的人品是否出現問題,對朋友言而無信或者打炮沒給錢,都是極有可能造成登錄不了的。^_^
======================================
更新內容:
1、突然發現,原來Centos下不能用普通用戶安裝SSH,會提示:This incident will be reported.
2、仍然是Centos下,普通用戶無法直接使用ifconfig命令,必須帶上路徑:/sbin/ipconfig
3、關閉Centos防火牆的命令與Ubuntu不同,下面提供兩種方法:
/sbin/iptables -I INPUT -p tcp --dport 22 -j ACCEPT
/etc/rc.d/init.d/iptables save
如果沒有生效,請重啓:
/etc/init.d/iptables restart
一般是不需要重啓就能生效的,可是如果遇到特殊情況,重啓仍然沒有生效,這時建議你reboot系統,或許就生效了。
如果還沒生效,乾脆直接關閉防火牆吧,命令:
/etc/init.d/iptables stop