从windows切换到MacOS系统,没有了xshell,对于我们这类经常要关心服务器的开发来说,真是一种很大的折磨。MacOS是天生支持shell,但是没有一款终端做得像xshell那样“傻瓜”。好在还有iterm2,可以持续集成各种插件,像是一个可以无限DIY的工具,虽然麻烦一点,但是非常灵活。
一、利用sshpass保存连接
xshell最常用的功能就是双击一个已保存的连接,ssh登录到远程服务器。在iterm2,我们可以用iterm2+sshpass的方式来达到同样效果。使用的时候,用tag来归类,就可以实现和xshell一样,点击就直接登录上远程服务器了。
安装sshpass
下载源码:http://sourceforge.net/projects/sshpass/files/
解压后进入目录,安装:
./configure
make
make install
安装完用“sshpass -h”可以看到帮助信息,sshpass -f就是我们接下来要用到的那个命令
配置iterm2
command+O打开profiles,编辑profiles
在右侧command,用sshpass的-f命令来做密码登录,-f后紧跟着的是你存放密码的文件,用vi编辑后保存,然后指定到这里,如:/usr/local/bin/sshpass -f /Users/yeziran/Documents/sshpass/fenke1/pass ssh -p端口号 用户名@ip地址
二、使用trigger实现上传下载
iterm2是没有直接支持上传下载的,需要先使用homebrew安装
brew install lrzsz
从github下载脚本
下载地址:https://github.com/mmastrac/iterm2-zmodem
下载后,将两个脚本文件拷贝到/usr/local/bin/目录,修改权限:
chmod 777 iterm2-*zmodem.sh
在profiles添加trigger
#trigger配置规则
Regular expression: \*\*B0100
Action: Run Silent Coprocess
Parameters: /usr/local/bin/iterm2-send-zmodem.sh
Regular expression: \*\*B00000000000000
Action: Run Silent Coprocess
Parameters: /usr/local/bin/iterm2-recv-zmodem.sh
command+O,打开profiles设置,编辑profiles,右边Advanced,在Triggers那一栏点击Edit,如图:
保存后重新打开iterm2,点击profile登录远程服务器,输入rz试一下吧。
注意:
1, 每一个profile都需要添加这个trigger,可以配好一个后拷贝到其他profile。
2, 传输过程中没有进度条,右边会有个左右箭头表示数据正在交互。