開發效率神器之alfred集成ssh+iTerm2實現一步登陸服務器

前言

作事情,好的開始是成功的一半。幹開發,好的工具等於完成了一半。git

實際工做中,在沒有使用"alfred+ssh+iterm"之前,鏈接各個環境的機器時,每次要github

1. 打開終端
2. ssh root@ip
3. 輸入密碼
4. ps -ef|grep server // 找到log dir
5. cd log dir // 目標目錄
6. bala bala 看日誌
複製代碼

即,在你真正開始看日誌找問題時,至少要通過5個步驟。不經意間,10min過去了,問題還沒開始找呢vim

在alfred+ssh+iterm的協助下,快感油然而生。你只須要"隨便"一個動做(以下圖), 直接進入第六步。bash

下面咱們就具體說下如何實現這個極大提高效率和倍爽的操做。服務器

免密登陸

先來個小菜,免密碼登陸機器。 前提:默認你的mac已經安裝了iTerm2 場景: 平時,咱們要鏈接遠程服務器,步驟以下:app

1. 打開iTerm2
2. ssh root@50.100.11.10
3. 輸入密碼
複製代碼

實際工做中有多個遠程服務器,須要鏈接。每一個都要如上操做一遍,實在繁瑣。尤爲是複雜密碼的時候ssh

使用ssh config

實現密碼登陸的方法是經過opensshssh config的功能。具體操做爲~/.ssh/config,若是不存在,能夠新建一個 而後vim ~/.ssh/configcurl

Host aliyun
  HostName 50.100.11.10
  User root
  Port 22
複製代碼

保存退出。這時在iTerm2中就能夠輸入ssh aliyun,回車 而後輸入密碼。注意,這時候已經不用輸入ssh root@50.100.11.10,只要輸入密碼就登陸上了工具

設置免密登陸

方法是使用ssh-copy-id功能,原理是將本機的密鑰複製到遠程要鏈接的機器上,從而受權鏈接。iterm終端輸入:ui

  • (可選)若是你的機器沒有生成過ssh密鑰則輸入,若是已經存在,則忽略這步

$ ssh-keygen

  • 複製密鑰到遠程目的服務器

$ ssh-copy-id -i demouser@192.168.1.101

按提示輸入一次密碼,ssh-copy-id就會自動將剛纔生成的公鑰id_rsa.pub追加到遠程主機的~/.ssh/authorized_keys後面了,這樣之後的 ssh 鏈接都不用輸入密碼了。

  • 設置後,鏈接試試看看效果

$ ssh aliyun

你會發現能夠一步命令直接等上遠程服務器了。可是仍是要打開終端iTerm2。再方便一點的登陸遠程服務器就須要alfred了

安裝alfred

alfred是mac提升工做效率軟件排名第一位,可見其歡迎程度。大有一旦碰見,終生想念的情愫。alfred安裝很是簡單,很少說了,可是破解版比較難找,發揮你的search能力吧。

下面要說的是alfred的插件。關於ssh的一款插件:alfred-ssh。對這個插件愛不釋手形容不爲過,下面說下具體使用場景和配置

到目前爲止,你會發現沒有用到alfred,已經實如今iTerm2上一步搞定了。是的,可是咱們經過alfred,能夠用更簡便的方式來鏈接遠程服務器

安裝alfred-ssh插件

鏈接以下:github.com/deanishe/al… 下載最新版:Secure-SHell-0.8.0.alfredworkflow,雙擊自動添加到alfred的workflow頁,效果以下圖

24-08

此時alfred-ssh就引入到alfred了,這時候你就能夠使用alfred來打開遠程服務器了,輸入ssh aliyun,你會發現終端鏈接上了aliyun,夠爽吧。但你會發現,這個終端顯示的mac自帶的終端,而咱們早已喜歡上了iTerm2,iTerm2比mac自帶的終端好用的多。

安裝alfred集成Iterm2配置

因此若是想使用Iterm2做爲終端,須要接着配置。以下圖,打開iTerm2的設置

25-19
從圖中能夠看到,須要兩步操做

  1. install iTerm2 plugin for Alfred
  2. 配置iterm的Url Schemes

首先咱們到Alfred的Features頁面,具體爲Alfred Preferences → Features → Terminal/Shell 將Application的值改成Custom,以下圖

26-03

同時顯示出一個大輸入框,這個須要輸入一段代碼,而代碼的來源見下圖

26-51

安裝alfred插件custom-iterm-applescripts-for-alfred

點擊iTerm2 plugin for Alfred,這是一個牛人寫的custom applescript,根據你的iterm版本選擇applescript命令,以下圖

27-20

個人iTerm2的版本是Build 3.2.9,因此我選擇For 3.1.1的命令,選中複製curl ... ,粘貼到iTerm2中回車,以下圖

27-48

粘貼它到上文的大輸入框中,即Alfred的配置中:Alfred Preferences → Features → Terminal/Shell → Application → Custom

itermURL Schemes配置

preferences → Profiles → PROFILE_NAME → General → URL Schemes,選擇ssh,這樣設置默認爲ssh激活狀態

到此就所有配置完成了

爽不爽

驗收效果

28-13

回車

28-36

能夠看到,最終的效果是隻須要在alfred中輸入一個命令:ssh aliyun,就直接鏈接上了aliyun的遠程服務器了,一步搞定。到這裏,咱們的目標就實現了。你可能會遇到這種狀況,登陸線上機器須要先登陸堡壘機,才能登陸線上機器,比較麻煩,若是想在alfred中一步搞定,實現這個目標,須要藉助另外一個神器:tmux,後文續說

版權所屬mxr_it@163.com,skyler_11@163.com,轉載經標明原做連接

原味地址:開發效率神提高之alfred集成ssh+iterm

相關文章
相關標籤/搜索