PuTTY是一個直接可以運行的軟件。非常的小巧,但是也非常的強大,和小編常用的xshell都是非常的強大,這個根據自己的喜好來選擇自己喜歡的ssh登陸管理軟件。
下面是小編在阿里云官方幫助中心找到的一個利用putty登陸的視頻教程,非常適合新手。
下載
官方下載地址:http://www.putty.org/
安裝
本軟件可以直接雙擊使用。
使用方法
下面是小編在百度文庫找到的一篇非常詳細的putty的使用教程,非常詳細但原作者不詳。
第一印象,開始登錄一臺遠程主機
運行 PuTTY 就可以看到下面這個界面
在這里輸入服務器的 IP 或主機名,選擇好登錄協議,還有協議的端口,如果希望把這次的輸入保存起來,以后就不需要再重新輸入了,就在第4步輸入好會話保存的名稱,比如:mail-server,或者干脆就是主機的地址,點擊保存就可以了。
最后點下面的 Open 按鈕,輸入正確的用戶名和口令,就可以登錄服務器了。
首次登錄一臺主機時
第一次登錄時,會看到這個對話框
這是要告訴你登錄的主機密鑰指紋,點 Yes 就保存起來,以后就不會再彈出這個窗口,然后就正常登錄。點 No 不保存,下次還是要提示你,然后也可以正常登錄。如果一臺主機我們只是臨時登錄一下,當然就是點 No 了。Cancel 就是取消,也就是取消了這次登錄。
如果你曾經登錄過這臺主機,但是又彈出來這個對話框,可能有以下幾種情形:
· 主機重新安裝了操作系統
· 這臺主機可能有多個IP,這次用的是另外一個 IP
· 有其他不懷好意的主機來冒充,誘騙我們登錄,竊取隱秘信息
前兩個情形很常見,一般點 Yes 就行了。后面這個嘛……唔……唔……,點 No/Cancel,再去詢問相關的主機管理人員。
又看到了中文亂碼
成功登錄主機后,輸入命令,這……這……顯示,又是亂碼。唉,中文亂碼是一個老生常談的問題,提起來就頭大。原因嘛,不外乎字符集、終端編碼之類的,還是可以解決的。
PuTTY 的默認字體和字符集并不適合中文顯示, 在窗口標題上點擊右鍵,選擇 Change Settings...
在打開的配置窗口左邊選擇 Appearance,在右邊點 Font settings 里面的
Change 按鈕,選擇好中文字體,比如:宋體、新宋體之類的
字體選擇好了,還要確定字符集。
選擇配置窗口左邊的 Translation,在右邊的 Received data assumed to be in which character set 下拉列表中選擇最后一個“Use font encoding”,最后點下面的 Apply 按鈕就生效了。
重新執行命令 ls -l,就可以正??吹街形牧?br />
怎么還是亂碼?
如果還是亂碼的話,就執行以下命令,看看系統的字符集
echo $LANG $LANGUAGE
哦,原來系統的字符集是 UTF-8 呀。重新返回上面選擇字符集的那一步, 選擇配置窗口左邊的 Translation,在右邊的 Received data assumed to be in which character set 下拉列表中選擇“UTF-8”
這下99%的情形下,漢字是不會有亂碼了。最后,總之一下 PuTTY 中亂碼的解決辦法:
先看看系統的字符集,如果是 UTF-8 的,那就簡單了,選擇好中文字體,然后編碼選擇 UTF-8 就行了。
如果編碼是 GB2312、GBK、GB18030,當然也包括 BIG5這些,在 PuTTY 的編碼選擇中看不到這些編碼,那就選擇最后一個“Use font encoding”,絕大部分情況下這樣就沒啥問題了,反正我是沒碰到有什么例外的情況。
現在的 Linux 如果默認語言選擇為中文,默認的編碼就是 UTF-8 了。以前安裝 Redhat AS 3 時,語言選擇為中文,默認的編碼是 zh_CN.gb2312, zh_CN.gb18030,好像從 AS 3 update 6 開始,包括現在的 AS4、AS5,中文的默認編碼都成了 zh_CN.utf8。至于 Debian、Ubuntu 等等這些上面,好像一直都是 UTF-8。
至于是使用 UTF-8呢,還是用 GB2312、GBK 或者 GB18030呢?我個人還是傾向于 UTF-8。畢竟我們使用的大多數軟件都是國外的,處理中文編碼多多少少有些問題,PuTTY 自然也不例外。
下面的這個圖上,我把終端編碼修改為 zh_CN.utf8,然后也按照前面的所說的方法把 PuTTY 的字符集修改為 UTF-8。然后在終端中輸入漢字“柴鋒”,按左方向鍵,可以看到漢字顯示很正常。
我重新把終端的編碼修改為 zh_CN.gb2312,同樣的,把 PuTTY 的字符集修改為最后一個“Use font encoding”。還是在終端上輸入漢字“柴鋒”,按下左方向鍵以后,會看到漢字亂碼了。
至于用哪個編碼,主要還是看領導的決定了,我們的領導就喜歡 GBK,連 GB18030 都不行。以前在用 Debian 的時候,好像默認都不支持 GBK 編碼。這幾年公司的開發在漢字編碼問題上出過幾次麻煩,還不就是在 ISO8859-1, GB2312/GBK/GB18030和UTF-8上折騰來折騰去。
給大家看一張 emacs 的截圖,看看上面的這么多語言的文字共同顯示,這個會是用 GB2312/GBK/GB18030 的編碼么?
用 UTF-8 也不是為了要在一個屏幕上顯示好幾種不認識的文字,也不一定非要是跟國際接軌弄個外包給老外開發程序做個其他語言的界面讓老外用,起碼不要在那么多編碼里折騰了,頂多兩個 ISO8859-1 和 UTF-8。發發牢騷,下面繼續……
在 PuTTY 里面怎樣選中,復制和粘貼?
在 PuTTY 的窗口里面復制、粘貼可不能用 Windows 里的這些 Ctrl+C, Ctrl+Ins, Ctrl+V 這些快捷鍵,Ctrl+C 在控制臺上可是終止當前的命令執行。
PuTTY 的選擇、復制、粘貼這些操作都是通過鼠標來完成的。
在 Window-〉Selection 這里可以設置復制和粘貼的方式。
默認的 Action of mouse buttons (鼠標按鍵的功能)的選項是 Compromise,這種方式下選中有兩種方式,一是直接用鼠標左鍵拖拉選中就可以了,二是用鼠標中鍵單擊選中區域的開頭,用滾動條拖拉到期望選中區域的末尾,再用鼠標中鍵單擊,就可以選中了。
選中以后,單擊鼠標左鍵就把選中部分復制到剪貼板了。粘貼也很簡單,單擊鼠標右鍵。
Action of mouse buttons 的第一個選項是 Windows (Windows 方式的),鼠標中鍵的操作跟前面提到的一樣。右鍵不是粘貼了,而是打開了右鍵菜單。
其實這個右鍵菜單在標題欄上點擊,也都可以看得到。
第三個選項是 xterm (xterm 方式),這個跟默認的 Compromise 方式相反的,中鍵和右鍵的操作調換了一下,就不多說了。
下面那個 Shift overrides application's use of mouse 是和 Shift 鍵有關的。有些 Rogue Like 的程序,比如 mc、links、Lynx、VIM 等等,都支持鼠標操作,想在用鼠標在上面選擇或粘貼就不行了。這個選項默認是選中的,在支持鼠標操作的 Rogue Like 界面下,按住 Shift 鍵,就可以像前面的那樣用鼠標來選擇、復制、粘貼了。
看下面的這個圖片,用 Links 打開了 Google 的首頁,用鼠標去選中 頂部中間的 Google,我們會發現,彈出了保存的對話框。
按住 Shift 鍵重新操作一次,哈哈,這次選中了。
在 Control use of mouse 里面還有個 Default selection mode (默認的選擇模式),默認是 Normal,就像文字處理工具里這樣的選擇
另外一個是 Rectangular block(塊選擇方式),至于用哪種方式就看自己的選擇了。
實時保存會話
這次更改配置參數了,關閉窗口后,下次使用還是要重新選擇的,麻煩。
還是回到上面修改配置的哪個地方,選擇左邊的 Session,在右邊選擇要覆蓋的會話名稱,或者重新輸入一個新的名稱,點擊 Save 按鈕保存。
關于注銷登錄的一些事情
成功登錄主機后,也能正??吹街形牧恕_@樣,我們就可以完成大部分的工作。最后要關閉窗口了,該怎么辦呢?我見過很多人,包括我們公司負責專職維護的同事,都是直接點擊窗口上的關閉按鈕,完全沒有理會彈出警告窗口,直接點擊了 Yes。
這樣做是不對的,首先這不是正確的注銷方式,應該輸入命令 exit 來正常注銷;其次直接關閉窗口后,你的登錄其實還在服務器上,如果一連多次的這樣強制關閉窗口,用命令 w 或者 who 命令查看時,可以看到很多的用戶還在系統上登錄,占用了系統的資源。最重要的是,你的這次登錄可能只是為了啟動一下 WebLogic 或者其他什么應用服務器,直接關閉窗口后,可能會導致你的業務在隨后的幾分鐘內也被終止,這應該不是你所希望看到的吧。
如果上述的理由是每次要輸入 exit 然后回車,比較麻煩。你可以用快捷鍵 Ctrl+d 來注銷登錄,一般情況下,快捷鍵一按窗口都直接關閉了,還省了兩次鼠標點擊。
在前面說道保存會話時,大家或許也注意到,下面有個 Close window on exit 有三個選項:
· Always (不管怎樣,窗口總是要關閉的)
· Never (無論是否有程序還在運行,都不要關閉窗口)
· Only on clear exit (這個是默認選中的,只有在本次登錄中運行的程序都正常終止或者在后臺運行,窗口才關閉)
有的程序在執行時,雖然在命令最后面加上 “&”就能放到后臺運行。但是正常注銷登錄后,窗口沒有被自動關閉,還能看到程序的輸出,這時強制關閉窗口還是可以的。為了避免這種情形,可以使用 nohup 命令。
用法嘛就是: nohup 命令 命令參數,這樣就可以了。
窗口保存的輸出有點少,前面的都看不到了
執行了一個命令,輸出了好多東西,但是默認的配置下,PuTTY只保存了最后200行的內容,滿足不了我們的需求。
還是在標題欄上點右鍵選擇 Change settings...,在配置窗口的左邊選擇 Window,修改右邊的 Lines of scrollback,改大點,比如 20000、80000的
在上面的 Set the size of the window 里設置的是窗口顯示的行數和列數,默認是 24 行、80 列,根據自己的需要來修改吧。
When window is resized 這個選項配置的是,當窗口大小發生改變時該采取什么動作。
· Change the number of rows and columns(這個是默認的,改變窗口大小時,自動修改行數和列數)
· Change the size of the font(這個是根據窗口的大小來修改字體的大小,窗口最大化的時候,字都是很大的)
· Change font size only when maximised(只有在窗口最大化的時候才改變字體大?。?nbsp;
· Forbid resizing completely(完全禁止改變窗口大小,一了百了)
在現代的 Unix/Linux 主機上,默認選項已經不存在任何問題了。如果是 Solaris 8 這樣的老式 Unix 上最好用第2或第4個選項。
第3個選項嘛,要求你的屏幕不是寬屏的,選中這個選項以后,大家可以先把窗口往窄的縮一下,然后最大化窗口,哈哈,滿足一下不是寬屏的虛榮心。
順便說一下,在 PuTTY 中的前后翻頁,與 Linux 終端一樣,用 Shift+PageUp/PageDown 來上下翻頁,而 Ctrl+PageUp/PageDown 則是一行一行的。
新建一個會話時,還有些東西再啰嗦一下
前面把如何用 PuTTY 登錄一臺主機到注銷的過程聊了一遍,但是在新建會話時還是有些東西需要再啰嗦一下的。
保持連接,不要自動斷開
在 Connection 里面有個 Seconds between keepaliaves,這里就是每間隔指定的秒數,就給服務器發送一個空的數據包,來保持連接。以免登錄的主機那邊在長時間沒接到數據后,會自動斷開 SSH 的連接。
默認輸入 0 是禁用保持連接,在這里我習慣的設置了 10。
下面的那兩個復選框都保持默認選中吧。
自動登錄用戶
在 Connection-〉Data 里面有個 Auto-login username,可以指定默認的登錄用戶。如果每次登錄主機都是用同一個用戶,不妨在這里設置一下。SSH、Telnet、Rlogin 這三種協議都支持,但不是所有的 Telnet 服務器支持自動登錄用戶
自動設置環境變量
還是前面的那個界面,下面有個 Environment variables,在 Variable 輸入環境變量的名稱,Value里設置上環境變量的值,登錄主機后就會自動設置上,但是這個不一定能用,有些主機為了安全,可能會禁用這個特性,一旦登錄就會收到這樣一個錯誤提示:
Server refused to set environment variables
設置代理服務器
這個經常用到,設置方法大同小異,注意選擇好 Proxy type(代理服務器的類型)就可以了。
代理服務器的地址填寫到 Proxy hostname 這里,Port 就是代理服務的端口(HTTP代理常用端口有 3128、8080,Socks5代理常用端口有 1080)
Exclude Hosts/IPs 這里是填寫排除的主機地址和IP,有些地址不需要代理,就在這里填寫。
有些代理需要認證,用戶名填寫到 Username,密碼則填寫到下面的 Password。
自動執行一個命令
在 Connection-〉SSH 里有個 Remote command,在這里面填寫上遠程服務器上的某個命令,比如:df,登錄后就會自動執行。
我們在 Unix 上用 ssh 登錄主機時用的命令 ssh,在 ssh 的最后面加上遠程主機上的命令,就跟這個一樣。
但是……,先別著急,一旦設置上這個選項,你會發現在登錄成功后,窗口一下就關閉了,嘿,怎么啦?什么也沒看見。
因為命令執行完畢的同時,本次 SSH 登錄連接也隨之關閉。
你可以把遠程自動執行的命令修改成 sleep 10,然后重新登錄,再看看效果。
登錄成功后,沒有出現命令提示符,10秒鐘后,窗口自動關閉。這也驗證了剛才我說的,命令執行完畢后,SSH 連接自動斷開。
冰雪聰明的你一定會想到,如果每次登錄主機,都是要重新啟動一下 tomcat,那這里就可以填寫上這樣的命令:
export CATALINA_HOME="~/apache-tomcat-5.5.17";export JAVA_HOME="~/jdk1.5.0_07";export PATH=$JAVA_HOME/bin;$PATH ; cd $CATALINA_HOME/bin;./shutdown.sh;./startup.sh;tail -f $CATALINA_HOME/logs/catalina.out
(上面的命令是一行的哦)
先自動設置一下環境變量(前面有提到,服務器可能會禁用自動設置環境變量,為了保險起見,在這里設置了一下),然后進入 tomcat 的 bin 目錄,用 shutdown.sh 停止 tomcat,然后再 startup.sh 啟動 tomcat,最后 tail 命令持續觀察 tomcat 的日志輸出,不想看了,就直接 Ctrl+C 就可以終止 SSH 的會話了。
哈哈,是不是很方便?
不過前面提到的命令 sleep 10,只是建立了 SSH 連接,然后 10 秒鐘后自動斷開。是不是覺得很無聊沒什么用途啊?其實這個命令配合后面提到的 Tunnels(隧道),可以自動保持隧道一定時間的開放,如果指定時間內(在這里就是 10 秒鐘)隧道沒有被使用,就自動關閉 SSH 連接和隧道。
如果選中了 Don't start a shell or command at all 就禁用了自動執行命令這一個特性,這個主要是配合 Tunnels (隧道)來使用的。因為有時候,我們只需要利用隧道建立一個 VPN,而并不需要登錄上去執行命令。用這個方法建立好隧道以后,就一直開放了,除非自己手工關閉。
嗯,還有個問題哦,如果一次要執行的命令很多,該怎么辦呢?嗯,給 PuTTY 用 -m 選項指定一個包含遠程主機上執行的命令的文本文件。不過以后還會說到 Plink,就是專門做這個用的,慢慢來慢慢來。
數據自動壓縮傳輸,變相的提高傳輸速率
還是前面的那個界面,Protocol options 里面有個 Enable compression,這個選項的意思就是傳輸時壓縮數據,在連接速度不變的情況下,變相的提高了傳輸速率。一般的 SSH 服務器都會允許這個選項的,所以還是選中好了。
無需口令登錄
在 Connection-〉SSH-〉Auth 這里面有兩個需要了解的,以后在講到 PuTTYGEN 和 Pagent 時會詳細介紹的。
一個是 Allow agent forwarding,作用是允許私鑰代理的轉發。
另外一個是最下面的 Private key file for authentication,選擇私鑰認證文件。
這兩個可以讓你用 SSH 登錄不用輸入主機口令,但是私鑰的口令還是需要輸入的,如果使用了私鑰代理 Pagent ,私鑰口令也可以省略。再配合前面提到的自動指定用戶名登錄,可以實現自動登錄主機。登錄到主機上以后,用 SSH 登錄另外一個同樣配置了相同的私鑰認證的主機,也可以不用再次輸入口令。
這些可以大大減輕了我們的重復工作,不用單調枯燥的輸入用戶名和口令,但是這樣使用有個后遺癥就是如果主機密碼沒有在另外一個地方記錄下來的話,這個密碼很快會忘記的,好處嘛,密碼可以設置的很長很變態 XD。
一般只用到登陸功能,其他功能小編也不常用。以上就是全部的putty下載安裝使用方法了。
新聞熱點
疑難解答
圖片精選