打造MacOS版「XShell」

1.背景

XShell做爲一個強大的安全終端模擬軟件,它支持SSH1, SSH2, 以及Microsoft Windows 平臺的TELNET 協議。做爲server端開發,幾乎是必備工具了。html

不少剛切換到MacOS環境下的萌新都會面臨一個尷尬的問題:XShell並無提供MacOS版本,在NetSarang(XShell的爸爸)論壇裏羣衆們也已經向官方吶喊不少年了,卻遲遲不見NetSarang有MacOS版本的消息。這對於已經使用習慣Xshell的開發同窗無疑是個噩夢。shell

記得我剛切到MacOS環境的時候,也是處處查有沒有XShell的替代產品,更多的卻看到的都是相似的回答:segmentfault

如今看看簡直是以爲這些誤導MacOS萌新回答都應該浸豬籠啊,MacOS自帶的Terminal雖然具有ssh的功能,可是也很是很差用,根本知足不了咱們高效工做的平常。安全

下面開始介紹Mac終端的應該有的正確姿式。ssh

2. iTerm2介紹

image

iTerm2做爲MacOS下Terminal的替代品,支持MacOS v10.10 及以上版本。做爲MacOS下最好用的終端應用,Iterm2具有如下特性:工具

  • 分屏
    Iterm2能夠把一個Tab分紅多個窗口,每一個窗口顯示一個不一樣的會話。能夠垂直、水平的建立任意數量的窗格。測試

  • 標籤變色
    Iterm2的標籤顏色會變化,以指示該tab當前狀態。當該標籤有新輸出的時候,標籤會變成洋紅色;新的輸出長時間沒有查看,標籤會變成紅色。可在設置中關掉該功能。.net

  • 智能選中
    在iTerm2中,雙擊選中,三擊選中整行,四擊智能選中(規則可配置),能夠識別網址,引號引發的字符串,郵箱地址等。指針

在iTerm2中,選中即複製。即任何選中狀態的字符串都被放到了系統剪切板中。code

  • 自動補齊
    iTerm2能夠自動補齊命令,輸入若干字符,按⌘+;彈出自動補齊窗口,列出曾經使用過的命令。

image

  • 歷史記錄
    iTerm2也能夠查詢歷史記錄,按⌘+shift+h彈出歷史記錄窗口。

image

  • Tab搜索
    ⌘+option+e全屏展現全部tab,並能夠進行搜索。

image

  • 高亮當前鼠標位置
    當咱們一個標籤頁中窗口開的太多的時候,會有找不到鼠標指針的狀況,按⌘+/能夠高亮鼠標位置。

image

還有更多特性請查看iTerm2官網

3. 打造Mac版「Xshell」

Xshell很是的方便好用的是由於它能保存你全部的ssh登陸賬號信息。MAC下並無xshell,有些也提供這樣的功能,但效果都很差。iTerm2是很好的終端,但卻不能很好的支持多profiles,當要管理的機器較多時,就比較麻煩了。好在它有profiles設置,只是不能保存ssh登陸賬號及密碼,它還提供了加載profiles時執行外部命令的功能,所以,這裏就可使用sshpass來幫它執行。

3.1 安裝sshpass

下載地址:http://sourceforge.net/projects/sshpass/files/

解壓後,進入sshpass目錄,執行安裝:

$ ./configure
$ make
$ make install

測試安裝

$ sshpass -h

3.2 配置密碼

讓sshpass使用ssh密碼,須要先將密碼保存在一個文件裏,再經過sshpass讀文件來獲取密碼,iTerm2就能夠經過這樣的命令來登陸主機,密碼文件很簡單,取一個好名字,把密碼寫進去就能夠了,沒有別的任何東西,如,在用戶目錄的sshpass目錄建一個名爲pass的文件,裏面寫上主機密碼:123456,文件地址爲:/Users/ <用戶名> /sshpass/pwd/ <密碼文件>

3.3 配置iTerm2

打開iTerm2 - Preferences - Profiles

image

添加一個新的profile,其它沒什麼好配置的,主要是在General的command中選擇使用command,命令就是sshpass的執行命令,如:

/usr/local/bin/sshpass -f /Users/<用戶名>/sshpass/pwd/pwd1_file ssh -p22 root@192.168.100.1
  • /usr/local/bin/sshpass是sshpass執行文件的路徑,若是按默認狀況安裝,它確定會出如今這個位置上

  • -f 是告訴sshpass加載文件

  • /Users/<用戶名>/sshpass/pwd/pwd1_file就是要加載的文件,即前面建的密碼文件

  • ssh -p22 root@192.168.100.1是說用ssh連接,端口22,root賬號和IP地址

保存後,選擇該profile,就能夠實際ssh登陸。只是若是是本機第一次登陸,是不會成功的,由於ssh登陸須要你yes確認,會寫文件到hosts裏,因此第一次會直接失敗,再來一次或是先在終端裏用ssh root@ip來登陸一次,就能夠了。

這樣,新建多個profile,就能夠實現管理登陸了。

在實際使用過程當中,iTerm配合oh-my-zsh能實現更加炫酷的功能,在後續博客中繼續講解oh-my-zsh的配置。


參考資料: [1] iTerm2 Feature: http://www.iterm2.com/features.html

相關文章
相關標籤/搜索