开发效率神器之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

相关文章
相关标签/搜索