前言
筆者今年年中將工作平臺(tái)從windows切換到了mac os治力。因?yàn)閷?duì)mac系統(tǒng)不是太熟枫慷,在過(guò)渡期間亥贸,使用了mac下安裝虛擬機(jī)跑windows的臨時(shí)方案(使用Parallels Desktop)辞州。隨著對(duì)mac系統(tǒng)的逐漸了解逃贝,我也逐漸找到了mac下對(duì)應(yīng)windows軟件的代替品蝙泼,但有一款軟件程剥,一直沒(méi)找到合適的,就是SecureCRT汤踏。
本來(lái)以為secureCRT是我第一款更換的軟件织鲸,因?yàn)楫?dāng)時(shí)發(fā)現(xiàn)secureCRT有mac版本。誰(shuí)知道剛打開(kāi)軟件就傻眼了溪胶,連最基本的配置導(dǎo)入都沒(méi)有搂擦,而且各種bug,一句話哗脖,mac下的secureCRT不是我針對(duì)它瀑踢,的確非常不好用。
考慮到在secureCRT上一大堆做了登錄腳本的配置文件才避,就還是一直使用的虛擬機(jī)方案橱夭,但為了這一款軟件就裝個(gè)windows虛擬機(jī),占空間不說(shuō)桑逝,還消耗不少系統(tǒng)資源棘劣。利用國(guó)慶長(zhǎng)假終于下定決定,將其替換掉肢娘!
替換要求
因?yàn)槲沂鞘褂帽緳C(jī)再跳轉(zhuǎn)到服務(wù)器上呈础,所以我需要一款支持運(yùn)行登錄腳本的替借品舆驶;第二是支持配置管理,因?yàn)楣P者要管理的服務(wù)器有上百臺(tái)而钞,使用mac自帶的terminal很難滿足筆者的要求沙廉。
iTerm2
經(jīng)過(guò)一番搜尋和測(cè)試,最終我選擇了iTerm2作為secureCRT的替代品臼节。一來(lái)它是開(kāi)源的撬陵,二來(lái)口碑不錯(cuò),最主要的是能夠支持我的替換要求网缝,但是要和mac下的一款命令行程序expect結(jié)合起來(lái)使用才能實(shí)現(xiàn)登錄腳本的功能巨税。
安裝好軟件后,初進(jìn)軟件粉臊,似乎和mac自帶的terminal看不出來(lái)太大的區(qū)別草添。人不可貌相,軟件也一樣扼仲,iTerm2的好多實(shí)用功能都隱藏在菜單欄里远寸。我們一起來(lái)看看吧。
會(huì)話主機(jī)配置
筆者的100臺(tái)服務(wù)器屠凶,就需要建立100個(gè)配置文件驰后,可以先建立1個(gè)配置文件,然后快速?gòu)?fù)制矗愧,但每臺(tái)服務(wù)器的登錄IP你得自己一一設(shè)置灶芝,偷不了懶。
點(diǎn)擊Profiles->Open Profiles唉韭,或者使用按快捷鍵cmd+O,彈出配置菜單
如果第一次進(jìn)入配置界面夜涕,這里會(huì)是空空如也,點(diǎn)擊“Edit Profiles”纽哥,彈出一個(gè)新窗口钠乏。
點(diǎn)擊“+”號(hào)即可新建一個(gè)配置文件,也可以隨時(shí)點(diǎn)減號(hào)刪除一個(gè)配置春塌。在這里我們只是進(jìn)行了基本配置。如果你登錄服務(wù)器并不需要堡壘機(jī)跳轉(zhuǎn)簇捍,那么點(diǎn)擊command選項(xiàng)只壳,并在其后的輸入框里輸入內(nèi)容,比如"ssh root@yourServerIP",其實(shí)就是運(yùn)行一條命令行下的命令暑塑。
登錄腳本配置
筆者因?yàn)槭褂昧吮緳C(jī)跳轉(zhuǎn)吼句,所以選擇的login shell,并在“Send text at start:”處填寫(xiě)了一條命令"expect tx.exp"事格。expect
是Mac系統(tǒng)自帶的一個(gè)小程序惕艳,功能是捕捉屏幕上出現(xiàn)的指定字符搞隐,如果滿足條件,就執(zhí)行一系列的命令远搪。
#tx.exp文件,可以自定義名稱(chēng)
#固定格式
#!/usr/bin/expect -f
#設(shè)置命令執(zhí)行超時(shí)時(shí)間
set timeout 30
#執(zhí)行以SSH方式登錄指定服務(wù)器的指令
spawn ssh -p 22 root@192.168.1.100
#如果屏幕上出現(xiàn)"#"號(hào)劣纲,執(zhí)行send后的命令,"#"號(hào)是linux服務(wù)器root的默認(rèn)提示符谁鳍,當(dāng)出現(xiàn)"#"號(hào)表示已經(jīng)登錄到堡壘機(jī)了癞季。
expect "#"
#在堡壘機(jī)上執(zhí)行命令,-p指定ssh端口為22222,\r表示模擬按一次回車(chē)
send "ssh -p22222 root@192.168.1.200\r"
通過(guò)以上配置倘潜,我們就完成了1臺(tái)會(huì)話主機(jī)的配置绷柒,第1次配置的確稍微有點(diǎn)麻煩,但后面就簡(jiǎn)單許多涮因,只需依葫蘆畫(huà)瓢废睦。
配置好后,我們?cè)俅伟碿md+o打開(kāi)配置窗口养泡。
剛才配置好的一個(gè)會(huì)話配置文件已經(jīng)出現(xiàn)在了列表中嗜湃,點(diǎn)擊"New Tab"或者"New Window"即可打開(kāi)終端并執(zhí)行我們事先寫(xiě)好的腳本,即先登錄跳轉(zhuǎn)機(jī)瓤荔,再通過(guò)跳轉(zhuǎn)機(jī)連接到目標(biāo)服務(wù)器净蚤。
配置文件前面有個(gè)小五角星,表示默認(rèn)要打開(kāi)的會(huì)話配置文件输硝。
強(qiáng)大的搜索功能
按住cmd+shift+O今瀑,會(huì)彈出快捷會(huì)話配置列表窗口。
這個(gè)搜索功能相比secureCRT簡(jiǎn)直是強(qiáng)大到離譜点把,可以根據(jù)你之前輸入的名稱(chēng)或者標(biāo)簽查詢(xún)橘荠,當(dāng)你管理的會(huì)話配置列表超過(guò)50臺(tái)以上時(shí),你就能感覺(jué)到他的確太好用了郎逃。
+號(hào)表示開(kāi)啟會(huì)話哥童,人型圖標(biāo)表示修改配置文件設(shè)置。
我們點(diǎn)擊+號(hào)行試一試
可以看到已經(jīng)正常登錄到了我的堡壘機(jī)褒翰。右邊框紅的“tx”也是之前在配置文件里面做的設(shè)置贮懈,具體是
Badge
選項(xiàng),當(dāng)你打開(kāi)多個(gè)會(huì)話窗口的時(shí)候优训,提示你每個(gè)窗口是屬于哪一個(gè)會(huì)話配置文件朵你,很貼心的小功能。
廣播輸入功能
當(dāng)你要在對(duì)多個(gè)會(huì)話窗口執(zhí)行同一條命令揣非,這個(gè)功能就派上用場(chǎng)了抡医。你只需在其一個(gè)窗口輸入命令,其它窗口會(huì)根據(jù)你選擇的廣播范圍同步輸入命令早敬。
"Broadcast Input toAll Panes in All Tabs"就是開(kāi)啟當(dāng)前窗口所有的tab頁(yè)同步功能忌傻,再次點(diǎn)擊該選項(xiàng)即可關(guān)閉大脉。
粘貼歷史命令功能
先選中“Paste History”功能痢艺,再按shift+cmd+B鍵脐嫂,即可調(diào)出粘貼歷史命令窗口
之前復(fù)制到剪貼板的命令都出現(xiàn)在了右側(cè)的窗口上蹋订,使用鼠標(biāo)雙擊即可將命令填寫(xiě)到當(dāng)剪終端中镣奋,也是我覺(jué)得很實(shí)用的一個(gè)功能沮稚。
結(jié)語(yǔ)
iTerm作為一款代替secureCRT的軟件额获,我認(rèn)為是合格的颇象,特別是它的搜索功能儡遮,讓我愛(ài)不釋手安疗,希望同樣在尋找類(lèi)似軟件的你抛杨,可以試一試這款開(kāi)源免費(fèi)軟件。
更多文章請(qǐng)?jiān)L問(wèn)我的公 眾 號(hào):Ted的技術(shù)樂(lè)園荐类。