Mac+效率神器alfred集成ssh+iterm2实现一步登陆服务器
背景
环境:Mac
工具:
1. iterm2 网上自行下载配置
2. alfred 官网自行下载,此教程用到Workflows需要购买。如有需要可以评论区留言附带邮箱。支持正版
作为程序猿,在实际工作中,需要经常连接各个环境的服务器查看日志等操作。每次都要打开终端输入 ssh root@ip,步骤繁琐,浪费时间
使用alfred+iterm2+ssh,可以实现一步直达。丝滑倍爽,如下图
ssh config
通过使用openssh的ssh config,实现密码登陆,不再需要每次打开iterm2输入ssh root@ip命令
打开iterm2终端,使用vim ~/.ssh/config命令编辑config文件
Host caixiaoxin
HostName ip
User root # 用户名
Port 22 # 默认端口 22
保存退出。打开iterm2输入ssh caixiaoxin回车,按提示输入密码。即可登陆目标服务器,省略了ssh root@ip步骤
免密登陆
把上一步需要通过手工在iterm2终端输入密码的步骤也省略掉
通过ssh-copy-id -i命令。此命令是将本机中的密钥复制的目标服务器上,授权连接。打开iterm2终端输入:
- (可选)如果你电脑上没有通过ssh生成过密钥,执行此步骤,如果已存在,忽略此步骤直接执行第二步
-> ssh-keygen
- 复制密钥到远程目标服务器
-> ssh-copy-id root@ip
# root 用户名
# ip 远程目标服务器ip
第一次会让你按照提示输入密码,ssh-copy-id就会把公钥id_rsa.pub追加到远程目标服务器的~/.ssh/authorized_keys文件中。后续通过ssh连接服务器不再需要输入密码
- 打开item,测试效果
-> ssh caixiaoxin
此时你会发现,一条命令即可登陆目标服务器。但是还是需要打开iterm2终端,继续往下走
安装alfred-ssh插件
此步骤,已经默认你在电脑上已经安装了alfred,并且可以正常使用Workflows
插件链接地址: [alfred-ssh]
安装最新版即可,小编安装的Secure-SHell-0.8.0.alfredworkflow
下载下来,双击自动添加到alfred的Workflows页,如下图
此时就可以使用alfred来连接远程服务器了。打开alfred输入ssh caixiaoxin,就可以直接连接上目标服务器进行需要的操作了。但是发现,连接上之后,终端使用的mac自带的,并不是iterm2。继续走~
安装alfred集成iterm2配置
-
打开alfred的Features页面, Preferences → Features → Terminal/Shell,将Application的值改为Custom,如下图
打开[iTem2 plugin for Alfred],将custom_iterm_script.applescript文件中的代码复制到上图的输入框中。一个大牛写的custom applescript。如下图
-
打开iterm2终端,执行一下代码
-
打开iterm2 preferences → Profiles → PROFILE_NAME → General → URL Schemes, 选择ssh。
配置完成开始体验之旅吧
效果:
回车