能夠下載putty-0.63-installer.exe(http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html),它是一個集成安裝包,不只包含了PuTTY,還包含了PuTTYgen,psftp等。html
一路Next,默認安裝便可。linux
1. 在配置網絡以前,先使用ifconfig命令查看VirtualBox中CentOS系統的網絡設置狀況,對其作一個備份,而後須要關閉VirtualBox中的CentOS系統在進行下面的設置。vim
[root@CentOS66 ~]# ifconfig eth0 Link encap:Ethernet HWaddr 08:00:27:C3:12:74 inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0 inet6 addr: fe80::a00:27ff:fec3:1274/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:24 errors:0 dropped:0 overruns:0 frame:0 TX packets:32 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:11393 (11.1 KiB) TX bytes:3361 (3.2 KiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:16 errors:0 dropped:0 overruns:0 frame:0 TX packets:16 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:960 (960.0 b) TX bytes:960 (960.0 b)
2. WirtualBox 網絡設置有多種方式,好比 NAT network,Bridge Adapter, Host only Adapter 等方式,爲了簡便,咱們使用Bridge Adapter方式。這種方式 Guest OS和Host OS的IP地址在同一網段內,網絡地位是對等的。windows
在Host OS(Win7)中 查看IP地址 安全
描述. . . . . . . . . . . . . . . : Intel(R) Dual Band Wireless-AC 3160 #2 DHCP 已啓用 . . . . . . . . . . . : 是 自動配置已啓用. . . . . . . . . . : 是 IPv4 地址 . . . . . . . . . . . . : 192.168.1.105(首選) 子網掩碼 . . . . . . . . . . . . : 255.255.255.0 默認網關. . . . . . . . . . . . . : 192.168.1.1 DHCP 服務器 . . . . . . . . . . . : 192.168.1.1 DNS 服務器 . . . . . . . . . . . : 202.106.46.151 202.106.195.68
3. 在VirtualBox主控制界面左側選中CentOS系統->點擊主控制界面中的Settings按鈕->在左側選擇「Network」->在右側的「Adapter 1」選項卡服務器
鏈接方式(Attached to)選擇 「Bridge Adapter」(默認選擇是NAT,不是NAT network),Name選擇 Host OS 上對應的物理網卡(,它會自動選擇的,也就是上面的「Intel(R) Dual Band Wireless-AC 3160 #2」),其餘保持默認,而後點擊肯定。網絡
4. 啓動CentOS,查看其IP地址,可見, CentOS的IP和宿主機Win7的IP在同一網段內了。less
[root@CentOS66 ~]# ifconfig eth0 Link encap:Ethernet HWaddr 08:00:27:C3:12:74 inet addr:192.168.1.110 Bcast:255.255.255.255 Mask:255.255.255.0 inet6 addr: fe80::a00:27ff:fec3:1274/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:23 errors:0 dropped:0 overruns:0 frame:0 TX packets:33 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:11993 (11.7 KiB) TX bytes:3667 (3.5 KiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:16 errors:0 dropped:0 overruns:0 frame:0 TX packets:16 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:960 (960.0 b) TX bytes:960 (960.0 b)
5. 檢驗Host OS和Guest OS可否ping通。ssh
(1) Guest OS 中ping Host OS,能ping通工具
[root@CentOS66 ~]# ping 192.168.1.105 PING 192.168.1.105 (192.168.1.105) 56(84) bytes of data. 64 bytes from 192.168.1.105: icmp_seq=1 ttl=128 time=1.08 ms 64 bytes from 192.168.1.105: icmp_seq=2 ttl=128 time=0.578 ms 64 bytes from 192.168.1.105: icmp_seq=3 ttl=128 time=0.506 ms 64 bytes from 192.168.1.105: icmp_seq=4 ttl=128 time=0.511 ms
(2) Host OS中ping Guest OS,能ping通
C:\Users\msi>ping 192.168.1.110 正在 Ping 192.168.1.110 具備 32 字節的數據: 來自 192.168.1.110 的回覆: 字節=32 時間<1ms TTL=64 來自 192.168.1.110 的回覆: 字節=32 時間<1ms TTL=64 來自 192.168.1.110 的回覆: 字節=32 時間<1ms TTL=64 來自 192.168.1.110 的回覆: 字節=32 時間<1ms TTL=64 192.168.1.110 的 Ping 統計信息: 數據包: 已發送 = 4,已接收 = 4,丟失 = 0 (0% 丟失), 往返行程的估計時間(以毫秒爲單位): 最短 = 0ms,最長 = 0ms,平均 = 0ms
1. 打開PuTTY,在Session選項卡中,輸入CentOS的IP地址,Saved Sessions:取一個容易記憶的名字,其餘保持默認。
2. 設置字符集
單擊左側的 Windows->Translation, Remote Character set 選擇「UTF-8」。
3. 保存此設置
再次點擊左側的Session,而後單擊右側的「Save」,保存這次的設置。
4. 登陸
點擊「Save」保存設置後,點擊最下方的「Open」按鈕登陸。
初次登錄時,會提示是否信任該Host,選」是「,而後會提示輸入用戶名密碼。以root用戶登陸。輸入root用戶密碼,這樣就能登陸到CentOS了。
1. 生成密鑰對
打開PuTTYgen,而後單擊Generate按鈕,這樣就開始生成密鑰了。注意:要不停的在PuTTYgen窗口的空白處點擊鼠標,它會使用這些點擊數據來生成密鑰,這樣不停擊鼠標會加快密鑰生成的速度。
」Key commetn「保持默認,」Key passphase「是給密鑰設置的密碼,能夠留空(我這裏留了空,沒有設置)。」Confirm passphase「仍然留空。
2. 保存私鑰
單擊」Save private key「保存私鑰,選擇一個存放路徑,並定義一個名稱(C:\Users\msi\.ssh\PuTTY_SSH_Private_Key.ppk),單擊保存按鈕。把它保存在一個比較安全的地方,謹防丟失或泄漏。
3. 複製公鑰到CentOS
PuTTYgen窗口的」Key「下方的長字符串,是公鑰的內容,將其複製下來,而後在CentOS中作以下操做(也能夠在上一節中用密碼直接登陸的PuTTY窗口中操做):
# mkdir /root/.ssh (若是已存在.ssh目錄,則沒必要再建立) # chmod 700 /root/.ssh (若是.ssh目錄的權限已是drwx------,則沒必要再執行此條命令) # vim /root/.ssh/authorized-keys (而後將公鑰的內容粘貼到該文件中)
粘貼後,按ESC鍵,而後輸入:wq保存並退出vim。
4. 關閉seLinux
seLinux是CentOS的一種安全機制,若是不關閉seLinux,使用密鑰登陸會提示:」Server refused our key「。若要永久關閉seLinux,需編輯下面的文件:
# vim /etc/selinux/config
將 SELINUX=enforcing 這一行,改成 SELINUX=disabled。
5. 而後重啓系統。
6. 打開PuTTY,在」Session「頁面,單擊選擇已保存的」CentOS-6_6「,而後單擊」Load「按鈕,將保存的配置加載。
而後單擊左側的」Connection「下的」SSH「,展開後單擊」Auth「,找到」Private key file for authentication:「,單擊右面的」Browse「按鈕,找到事先保存的私鑰(C:\Users\msi\.ssh\PuTTY_SSH_Private_Key.ppk)打開。
7. 而後再次單擊左側的Session,起一個新名字: CentOS_6_6_SSH,而後單擊右側的「Save」,保存這次的設置。
8. 點擊「Save」保存設置後,點擊最下方的「Open」按鈕登陸。
結果仍是提示」Server refused our key「。也就是說前面的配置都不成功。功虧一簣。
原來緣由在於生成私鑰文件的步驟是在windows下的,也就是說用puttygen這個工具生成公鑰私鑰,而後將公鑰拷貝到linux下,再用私鑰訪問目前存在一些問題。
解決方案就是反過來使用linux生成私鑰公鑰文件,而後將生成的私鑰文件拷貝至window下,用puttygen.exe加載(load)它生成putty支持的私鑰文件,再用該文件訪問。【2】
1. 以root用戶登陸CentOS,而後鍵入命令:
# ssh-keygen -t dsa
生成公鑰私鑰文件,它會提示你保存位置,以及是否設置密碼,直接按Enter便可。你會在/root/.ssh隱藏文件夾下找到他們。
2. 修改公鑰文件的名字id_dsa.pub >> authorized_keys
# mv .ssh/id_dsa.pub .ssh/authorized_keys
3. 將私鑰文件id_dsa拷貝到你的windows下,打開PuTTYgen,而後點擊load,對話框中的文件類型選擇全部,load 這個id_dsa文件後,save private key,保存到一個目錄下(不要保存到C:\Users\msi\.ssh目錄下,好像不起做用,我保存到了D:\LinuxVirtual目錄下)。按照上一節的介紹,PuTTY加載這個新生成的私鑰就能夠訪問linux了。
【1】 《跟阿銘學Linux 》 Chapter 3遠程登陸Linux系統
【2】關於使用putty私鑰鏈接linux出現失敗的緣由解決方案(http://blog.csdn.net/magic_zj00/article/details/7470023)