打造MacOS版“XShell”

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介紹

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ì)變成洋紅色氮凝;新的輸出長(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ò)的命令该编。

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

還有更多特性請(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

image

添加一個(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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末魄健,一起剝皮案震驚了整個(gè)濱河市沽瘦,隨后出現(xiàn)的幾起案子饮六,更是在濱河造成了極大的恐慌卤橄,老刑警劉巖窟扑,帶你破解...
    沈念sama閱讀 222,590評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件嚎货,死亡現(xiàn)場(chǎng)離奇詭異殖属,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)外潜,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)处窥,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)滔驾,“玉大人哆致,你說(shuō)我怎么就攤上這事患膛。” “怎么了城丧?”我有些...
    開(kāi)封第一講書(shū)人閱讀 169,301評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)布疙。 經(jīng)常有香客問(wèn)我灵临,道長(zhǎng),這世上最難降的妖魔是什么宦焦? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 60,078評(píng)論 1 300
  • 正文 為了忘掉前任顿涣,我火速辦了婚禮波闹,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘涛碑。我一直安慰自己精堕,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,082評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布蒲障。 她就那樣靜靜地躺著歹篓,像睡著了一般。 火紅的嫁衣襯著肌膚如雪揉阎。 梳的紋絲不亂的頭發(fā)上庄撮,一...
    開(kāi)封第一講書(shū)人閱讀 52,682評(píng)論 1 312
  • 那天,我揣著相機(jī)與錄音余黎,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛搀突,可吹牛的內(nèi)容都是我干的甸昏。 我是一名探鬼主播雌隅,決...
    沈念sama閱讀 41,155評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼检盼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了剂桥?” 一聲冷哼從身側(cè)響起冤议,我...
    開(kāi)封第一講書(shū)人閱讀 40,098評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤蕊温,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體胞谭,經(jīng)...
    沈念sama閱讀 46,638評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡泉瞻,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,701評(píng)論 3 342
  • 正文 我和宋清朗相戀三年鞭达,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,852評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡右犹,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情服协,我是刑警寧澤唠椭,帶...
    沈念sama閱讀 36,520評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響茧吊,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜泊交,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,181評(píng)論 3 335
  • 文/蒙蒙 一留晚、第九天 我趴在偏房一處隱蔽的房頂上張望赋焕。 院中可真熱鬧臭挽,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,674評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至呻征,卻和暖如春戈轿,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背色乾。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,788評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人恕稠。 一個(gè)月前我還...
    沈念sama閱讀 49,279評(píng)論 3 379
  • 正文 我出身青樓敛苇,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親驰徊。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,851評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容

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