1.背景
XShell作為一個(gè)強(qiáng)大的安全終端模擬軟件删豺,它支持SSH1, SSH2, 以及Microsoft Windows 平臺(tái)的TELNET 協(xié)議共虑。作為server端開(kāi)發(fā),幾乎是必備工具了呀页。
很多剛切換到MacOS環(huán)境下的萌新都會(huì)面臨一個(gè)尷尬的問(wèn)題:XShell并沒(méi)有提供MacOS版本妈拌,在NetSarang(XShell的爸爸)論壇里群眾們也已經(jīng)向官方吶喊很多年了,卻遲遲不見(jiàn)NetSarang有MacOS版本的消息蓬蝶。這對(duì)于已經(jīng)使用習(xí)慣Xshell的開(kāi)發(fā)同學(xué)無(wú)疑是個(gè)噩夢(mèng)尘分。
記得我剛切到MacOS環(huán)境的時(shí)候,也是到處查有沒(méi)有XShell的替代產(chǎn)品丸氛,更多的卻看到的都是類似的回答:
現(xiàn)在看看簡(jiǎn)直是覺(jué)得這些誤導(dǎo)MacOS萌新回答都應(yīng)該浸豬籠啊,MacOS自帶的Terminal雖然具備ssh的功能缓窜,但是也非常不好用定续,根本滿足不了我們高效工作的日常谍咆。
下面開(kāi)始介紹Mac終端的應(yīng)該有的正確姿勢(shì)。
2. iTerm2介紹
iTerm2作為MacOS下Terminal的替代品私股,支持MacOS v10.10 及以上版本摹察。作為MacOS下最好用的終端應(yīng)用,Iterm2具備以下特性:
- 分屏
Iterm2可以把一個(gè)Tab分成多個(gè)窗口倡鲸,每個(gè)窗口顯示一個(gè)不同的會(huì)話港粱。可以垂直旦签、水平的創(chuàng)建任意數(shù)量的窗格。
標(biāo)簽變色
Iterm2的標(biāo)簽顏色會(huì)變化寸宏,以指示該tab當(dāng)前狀態(tài)宁炫。當(dāng)該標(biāo)簽有新輸出的時(shí)候,標(biāo)簽會(huì)變成洋紅色氮凝;新的輸出長(zhǎng)時(shí)間沒(méi)有查看羔巢,標(biāo)簽會(huì)變成紅色≌终螅可在設(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)使用過(guò)的命令该编。
- 歷史記錄
iTerm2也可以查詢歷史記錄课竣,按?+shift+h
彈出歷史記錄窗口于樟。
- Tab搜索
按?+option+e
全屏展示所有tab迂曲,并可以進(jìn)行搜索奢米。
- 高亮當(dāng)前鼠標(biāo)位置
當(dāng)我們一個(gè)標(biāo)簽頁(yè)中窗口開(kāi)的太多的時(shí)候鬓长,會(huì)有找不到鼠標(biāo)指針的情況涉波,按?+/
可以高亮鼠標(biāo)位置啤覆。
還有更多特性請(qǐng)查看iTerm2官網(wǎng)窗声。
3. 打造Mac版“Xshell”
Xshell非常的方便好用的是因?yàn)樗鼙4婺闼械膕sh登錄帳號(hào)信息笨觅。MAC下并沒(méi)有xshell,有些也提供這樣的功能杀糯,但效果都不好苍苞。iTerm2是很好的終端羹呵,但卻不能很好的支持多profiles,當(dāng)要管理的機(jī)器較多時(shí)方援,就比較麻煩了涛癌。好在它有profiles設(shè)置拳话,只是不能保存ssh登錄帳號(hào)及密碼弃衍,它還提供了加載profiles時(shí)執(zhí)行外部命令的功能坚俗,因此猖败,這里就可以使用sshpass來(lái)幫它執(zhí)行。
3.1 安裝sshpass
下載地址:http://sourceforge.net/projects/sshpass/files/
解壓后艺糜,進(jìn)入sshpass目錄幢尚,執(zhí)行安裝:
$ ./configure
$ make
$ make install
測(cè)試安裝
$ sshpass -h
3.2 配置密碼
讓sshpass使用ssh密碼尉剩,需要先將密碼保存在一個(gè)文件里理茎,再通過(guò)sshpass讀文件來(lái)獲取密碼管嬉,iTerm2就可以通過(guò)這樣的命令來(lái)登錄主機(jī)宠蚂,密碼文件很簡(jiǎn)單求厕,取一個(gè)好名字扰楼,把密碼寫(xiě)進(jìn)去就可以了,沒(méi)有別的任何東西项栏,如沼沈,在用戶目錄的sshpass目錄建一個(gè)名為pass的文件列另,里面寫(xiě)上主機(jī)密碼:123456,文件地址為:/Users/<用戶名>/sshpass/pwd/<密碼文件>
3.3 配置iTerm2
打開(kāi)iTerm2 - Preferences - Profiles
添加一個(gè)新的profile,其它沒(méi)什么好配置的阴绢,主要是在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
是說(shuō)用ssh鏈接烟瞧,端口22诗鸭,root帳號(hào)和IP地址
保存后强岸,選擇該profile蝌箍,就可以實(shí)際ssh登錄妓盲。只是如果是本機(jī)第一次登錄专普,是不會(huì)成功的,因?yàn)閟sh登錄需要你yes確認(rèn)筋粗,會(huì)寫(xiě)文件到hosts里炸渡,所以第一次會(huì)直接失敗偶摔,再來(lái)一次或是先在終端里用ssh root@ip來(lái)登錄一次辰斋,就可以了宫仗。
這樣旁仿,新建多個(gè)profile枯冈,就可以實(shí)現(xiàn)管理登錄了。
在實(shí)際使用過(guò)程中滩褥,iTerm配合oh-my-zsh能實(shí)現(xiàn)更加炫酷的功能炫加,在后續(xù)博客中繼續(xù)講解oh-my-zsh的配置。
參考資料:
[1] iTerm2 Feature:
http://www.iterm2.com/features.html