在日常工作中,经常要通过ssh连接远程服务器,每次连接都输入密码,会比较麻烦。
 在Window系统上,我习惯使用xshell管理连接,非常方便。
 在MacOS系统上,没有xshell,而一些类似xshell的工具中,好用的要收费,免费的不好用,于是决定使用iTerm2打造一个好用的ssh神器,提高日常工作效率。
 话不多说,直接上干货。
使用iTerm2打造ssh神器,主要是通过Profiles功能,每个Profile对应一个ssh连接,然后打开Profile,就可以连接远程服务器。
 具体如何配置Profile,详见下文。
配置Profile
1、新建一个Profile
打开iTerm2,导航到iTerm2 > Settings,然后打开配置管理页面:
 
 
在配置管理页面切换到Profiles管理页面:

点击“+“按钮,新建一个Profile:

新建的Profile如下图:
 
也可以从已有的Profile复制一个新的Profile,这样可以减少配置,复制方式如下:
 
更多功能,这里就不赘述了。
2、配置ssh连接
2.1、配置基本信息
配置ssh连接信息,如图:
 
Name区域是配置Profile名称。
 Command区域选择Command选项,配置ssh连接命令即可。关于密码配置,下文会详细说明。
 Tags区域是标签,多级标签使用“/”分割。当Profiles非常多时,通过标签筛选,可以更快的定位到目标Profile。
 点击Tags按钮,可以查看标签树:
 
2.2、配置密码
配置完ssh连接后,每次打开Profile,都会直接执行ssh命令,连接远程服务器,然后要求人工输入密码。
 如果想要自动填充密码,就需要使用Triggers。Triggers会监控终端seesion的输出文本,如果文本匹配到一个正则表达式,就会执行这个正则表达式对应的动作。
 在Triggers中配置正则表达式匹配输入密码的提示文本,然后触发输入密码文本或者弹出密码管理器,就可以实现自动填充密码或者从密码管理器中选择密码的功能。
 继续编辑Profile,打开高级配置:
 
编辑Triggers:
 
添加规则,自动输入密码:
 
上图规则的正则表达式“(P|p)ass(word|wd):”,可以匹配到输入密码的提示文本,然后触发动作“Send Text”,会将Paramters中配置的文本发送到终端session中,就实现了自动填充密码的功能。
 Send Text 自动输入密码,需要在密码文本末尾添加回车符(\r)或者换行符(\n),这样就可以直接连接到远程服务,否则还需要手动按回车键,才能连接到远程服务器。
还可以选择触发密码管理器,手动选择账户密码,再连接到远程服务器,规则配置如下:
 
上图规则的正则表达式“(P|p)ass(word|wd):”,可以匹配到输入密码的提示文本,然后触发动作“Open Password Manager”,密码管理器打开后,默认选中的是Parameters中配置的账户密码。
 触发效果如下:
 
可以看到默认选择的账户密码,点击 Enter Password 按钮,就可以将密码发送到终端session,连接到远程服务器。
 触发规则中配置的默认账户密码,需要提前在密码管理器中创建。
 创建方法如下。
 打开密码管理器:
 
点击“+”按钮,编辑即可:
 
使用Profile
直接点击目标Profile即可,如图:
 
参考:
 https://blog.csdn.net/ClownG/article/details/107849908
 https://blog.josephziegler.com/2022/03/20/iterm2-password-trigger.html


![[游戏开发][Unity]Assetbundle下载篇(7)获取运行时(边玩边下)下载列表](https://img-blog.csdnimg.cn/img_convert/077f21f4021814ff9c8600be308bc768.png)


![[STJson]一个.Net开源json解析库](https://img-blog.csdnimg.cn/d3d5e2bcf81f47e6a5579a6eb1237a11.png#pic_center)













