打造MacOS版“XShell”

1.背景

XShell作為一個(gè)強(qiáng)大的安全終端模擬軟件,它支持SSH1, SSH2, 以及Microsoft Windows 平臺(tái)的TELNET 協(xié)議。作為server端開發(fā),幾乎是必備工具了。

很多剛切換到MacOS環(huán)境下的萌新都會(huì)面臨一個(gè)尷尬的問題:XShell并沒有提供MacOS版本,在NetSarang(XShell的爸爸)論壇里群眾們也已經(jīng)向官方吶喊很多年了,卻遲遲不見NetSarang有MacOS版本的消息。這對(duì)于已經(jīng)使用習(xí)慣Xshell的開發(fā)同學(xué)無疑是個(gè)噩夢。

記得我剛切到MacOS環(huán)境的時(shí)候,也是到處查有沒有XShell的替代產(chǎn)品,更多的卻看到的都是類似的回答:

現(xiàn)在看看簡直是覺得這些誤導(dǎo)MacOS萌新回答都應(yīng)該浸豬籠啊,MacOS自帶的Terminal雖然具備ssh的功能,但是也非常不好用,根本滿足不了我們高效工作的日常。

下面開始介紹Mac終端的應(yīng)該有的正確姿勢。

2. iTerm2介紹

image

iTerm2作為MacOS下Terminal的替代品,支持MacOS v10.10 及以上版本。作為MacOS下最好用的終端應(yīng)用,Iterm2具備以下特性:

  • 分屏
    Iterm2可以把一個(gè)Tab分成多個(gè)窗口,每個(gè)窗口顯示一個(gè)不同的會(huì)話。可以垂直、水平的創(chuàng)建任意數(shù)量的窗格。
image
  • 標(biāo)簽變色
    Iterm2的標(biāo)簽顏色會(huì)變化,以指示該tab當(dāng)前狀態(tài)。當(dāng)該標(biāo)簽有新輸出的時(shí)候,標(biāo)簽會(huì)變成洋紅色;新的輸出長時(shí)間沒有查看,標(biāo)簽會(huì)變成紅色??稍谠O(shè)置中關(guān)掉該功能。

  • 智能選中
    在iTerm2中,雙擊選中,三擊選中整行,四擊智能選中(規(guī)則可配置),可以識(shí)別網(wǎng)址,引號(hào)引起的字符串,郵箱地址等。
    在iTerm2中,選中即復(fù)制。即任何選中狀態(tài)的字符串都被放到了系統(tǒng)剪切板中。

  • 自動(dòng)補(bǔ)齊
    iTerm2可以自動(dòng)補(bǔ)齊命令,輸入若干字符,按?+;彈出自動(dòng)補(bǔ)齊窗口,列出曾經(jīng)使用過的命令。

image
  • 歷史記錄
    iTerm2也可以查詢歷史記錄,按?+shift+h彈出歷史記錄窗口。
image
  • Tab搜索
    ?+option+e全屏展示所有tab,并可以進(jìn)行搜索。
image
  • 高亮當(dāng)前鼠標(biāo)位置
    當(dāng)我們一個(gè)標(biāo)簽頁中窗口開的太多的時(shí)候,會(huì)有找不到鼠標(biāo)指針的情況,按?+/可以高亮鼠標(biāo)位置。
image

還有更多特性請(qǐng)查看iTerm2官網(wǎng)。

3. 打造Mac版“Xshell”

Xshell非常的方便好用的是因?yàn)樗鼙4婺闼械膕sh登錄帳號(hào)信息。MAC下并沒有xshell,有些也提供這樣的功能,但效果都不好。iTerm2是很好的終端,但卻不能很好的支持多profiles,當(dāng)要管理的機(jī)器較多時(shí),就比較麻煩了。好在它有profiles設(shè)置,只是不能保存ssh登錄帳號(hào)及密碼,它還提供了加載profiles時(shí)執(zhí)行外部命令的功能,因此,這里就可以使用sshpass來幫它執(zhí)行。

3.1 安裝sshpass

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

解壓后,進(jìn)入sshpass目錄,執(zhí)行安裝:

$ ./configure
$ make
$ make install

測試安裝

$ sshpass -h

3.2 配置密碼

讓sshpass使用ssh密碼,需要先將密碼保存在一個(gè)文件里,再通過sshpass讀文件來獲取密碼,iTerm2就可以通過這樣的命令來登錄主機(jī),密碼文件很簡單,取一個(gè)好名字,把密碼寫進(jìn)去就可以了,沒有別的任何東西,如,在用戶目錄的sshpass目錄建一個(gè)名為pass的文件,里面寫上主機(jī)密碼:123456,文件地址為:/Users/<用戶名>/sshpass/pwd/<密碼文件>

3.3 配置iTerm2

打開iTerm2 - Preferences - Profiles

image

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

/usr/local/bin/sshpass -f /Users/<用戶名>/sshpass/pwd/pwd1_file ssh -p22 root@192.168.100.1

  • /usr/local/bin/sshpass是sshpass執(zhí)行文件的路徑,如果按默認(rèn)情況安裝,它肯定會(huì)出現(xiàn)在這個(gè)位置上

  • -f 是告訴sshpass加載文件

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

  • ssh -p22 root@192.168.100.1是說用ssh鏈接,端口22,root帳號(hào)和IP地址

保存后,選擇該profile,就可以實(shí)際ssh登錄。只是如果是本機(jī)第一次登錄,是不會(huì)成功的,因?yàn)閟sh登錄需要你yes確認(rèn),會(huì)寫文件到hosts里,所以第一次會(huì)直接失敗,再來一次或是先在終端里用ssh root@ip來登錄一次,就可以了。

這樣,新建多個(gè)profile,就可以實(shí)現(xiàn)管理登錄了。

在實(shí)際使用過程中,iTerm配合oh-my-zsh能實(shí)現(xiàn)更加炫酷的功能,在后續(xù)博客中繼續(xù)講解oh-my-zsh的配置。


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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 引子 SSH連接是我們與服務(wù)器交互的主要手段,每個(gè)程序員每天都會(huì)用到,就像喝白開水一樣普通。就是這樣一個(gè)簡單而又高...
    bluexiii閱讀 12,740評(píng)論 0 8
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,506評(píng)論 19 139
  • Ubuntu的發(fā)音 Ubuntu,源于非洲祖魯人和科薩人的語言,發(fā)作 oo-boon-too 的音。了解發(fā)音是有意...
    螢火蟲de夢閱讀 100,585評(píng)論 9 468
  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經(jīng)改了很多 但是錯(cuò)誤還是無法避免 以后資料會(huì)慢慢更新 大...
    數(shù)據(jù)革命閱讀 13,179評(píng)論 2 33
  • 吸引力法則說:你會(huì)得到你所持續(xù)聚焦的實(shí)相,不管是你要的,還是你不想要。 此刻,傍晚18:00,我在蔥郁的自家陽臺(tái)里...
    清心0606閱讀 224評(píng)論 1 4

友情鏈接更多精彩內(nèi)容