Mac上使用iterm2配置ssh的正确姿势!

前言

连接远程服务器的工具有很多,本人也基本都折腾过,总结下来体验最好、使用人数最多的两款非xshell和SecureCRT莫属,看下对比图:

工具 支持的平台 会话复制 是否有免费版 正版价格
Xshell Windows 支持 ¥988+
SecureCRT Windows、Mac、Linux 支持 ¥900+

相信大多数人都是用习惯了但“买不起”的,虽然网上有很多破解版,但是老觉得用着不踏实(这玩意会不会有木马?有没有后门?我的密码泄露了怎么办?)。

替代方案

对于使用Mac的同学,比较简单的替代方案是使用iterm2
目前网上介绍最多的是以下两种方式实现的自动登录:

  • shell脚本 + expect + iterm2触发器
  • shell脚本 + sshpass

这两种方式都显得很蹩脚,还得用shell脚本?kao。
而且密码还明文暴露在shell脚本里,不加个密吗?
对密码和shell不敏感的小伙伴自己去搜下怎么实现的吧,此处不推荐。

这里介绍的方式是纯使用iterm2实现,可以做到不暴露明文密码。
缺点是非自动登录,需要借助快捷键调出密码管理器。
什么?不自动登录?还得再学一个快捷键?那你说个毛线!

我不管,我就是不想用shell脚本,我就是不想密码明文写在文件里边。
我不管,我就是不想用shell脚本,我就是不想密码明文写在文件里边。
我不管,我就是不想用shell脚本,我就是不想密码明文写在文件里边。

先来个演示

  1. cmd + o 打开服务器列表,方向键选择要登录的机器,回车,提示输入密码;
  2. option + cmd + f打开密码管理器,方向键选择密码,回车,即可登录;
  3. 此时若重复步骤1,借助ssh会话复制已不需要输入密码。
    ssh-login-demo

开始配置

添加服务器

点击iterm2—>Preferences—>Profiles,按图示配置一个新的profile
新增profile

配置密码管理器

点击iterm2—>Window—>Password Manager,按图示配置一个密码,配置完后可按ESC键关闭该窗口
配置密码

配置SSH会话复制、会话保持

使用过SecureCRT和Xshell的同学都知道有个session copy的功能,其实ssh本身就支持这个,只需在~/.ssh/config文件里添加几行配置即可。

# 会话复制相关配置
Host *
ControlMaster auto
ControlPath /tmp/ssh-%r@%h

# 会话保持相关配置,防止长时间不操作ssh断开连接
ServerAliveInterval 10

其他提示

猜你喜欢

转载自blog.csdn.net/weixin_52777294/article/details/112410350