第一次幹用SSH鏈接安裝在VirtualBox上的Linux的事情,打算買個雲空間用用的因此先拿個CentOS練練手。因爲是虛擬機上的因此經過SSH鏈接的時候廢了點小周折,特此記錄一下。我選擇的是CentOS6.4,主要包括如下及步驟:
1,切換虛擬機的網絡模式。
2,設置sshd服務自啓動。
3,啓動sshd服務。
4,經過Putty鏈接。
5,過程當中遇到的問題。
安全
因爲是SSH和虛擬機共用一臺機器,因此安裝好CentOS後一時摸不許鏈接的IP應該是什麼。因爲VirtualBox默認是NAT(網絡地址轉換)的,因此雖然經過在宿主機器上ipconfig看到了虛擬網卡的IP可是一直也沒法連到虛擬機上去(好像是要修改VirtualBox的轉發規則,這個後面嘗試)。最終經過修改網絡鏈接方式位橋接(Bridge Adapter)的方式,直接把網卡地址給Centos用。
修改步驟:關閉虛擬機,在管理界面選擇虛擬機-->設置-->網絡:
設置後在CentOS終端就能夠查看到當前IP地址了,ifconfig:
網絡
至此1部分打完收工,接下來設置sshd服務爲自啓動,這樣就不用每次開機之後跑去虛擬機那端啓動一次了。
使用命令:chkconfig sshd on 設置爲開機啓動
使用命令:chkconfig --list |grep sshd查看設置結果,注意這裏須要root權限來設置。截圖以下:
猜測一下列表中0~6應該表明的是Linux的運行模式。 ssh
接下來3啓動sshd,這個沒啥好說默認22端口的話直接使用命令:service sshd start 便可。 tcp
而後是4經過ssh工具,這裏是putty鏈接便可。在CentOS中默認狀況下iptables的策略是ACCEPT的因此不須要設置了,若是是其餘系統可能涉及到防火牆放行在5中介紹。 工具
5遇到的問題:
遇到的最大的問題應該就是虛擬機中IP找不許,作了不少嘗試和google,一度停了netfilter組件(即iptables)。
其次,雖然CentOS中iptables規則默認是ACCEPT,可是實際場景多安全起見多少在INPUT、OUTPUT中選擇DROP。這樣急須要添加一條開發22端口的命令:
iptables -A INPUT -p tcp -m tcp -sport 22 -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp -dport 22 -j ACCEPT google
--------------------------------------------------------
補充一個後記:
嘗試了一下原來不須要切換網絡方式的,直接Nat就能夠。從VirtualBox幫助中找到一段關於網絡的介紹,其中NAT的模式相似於家裏的物理路由器只不過此次路由器是VirtualBox的路由引擎,它將虛擬機和外界隔離開了,只須要設置下端口轉發便可完成鏈接到制定虛擬機端口的目的,其最終效果就是對於全部發到VirtualBox的虛擬網卡IP指定端口的消息都轉發到對應端口,這裏須要的是22。設置以下:
1,關閉虛擬機後設置網絡爲NAT並添加端口轉發規則:
2,直接鏈接到virtualBox的虛擬網卡的對應端口上,經過宿主機器的ipconfig能夠查看到個人virtualBox當前ip爲:192.168.56.1@1022:
3,打完收工。鏈接正常。
spa