之前在 Windows 上进行开发的时候, SSH 重度依赖 SecureCRT 或者 XShell 工具, 现在把办公环境迁移到 Linux 后, 每次连接都需要输入密码, 尤其是需要跳板机的时候, 需要逐级输入, 十分麻烦. 所以就开始找有没有好用的工具, 于是找到了 PAC Manager, PAC Manager 是 Linux 下类似 SecureCRT 和 XShell 的 SSH 工具, 该工具功能很丰富, 完全能够替代 SecureCRT 和 XShell. 但是 PAC Manager 在 2016 年停更以后, 就没人再修复 bug 了. 后来另一位朋友从 PAC Manager fork 出了一个分支, 并改名为 Asbru Connection Manager(asbru-cm), 一直维护至今.
在 Linux Mint 19 上安装 asbru-cm
asbru-cm 项目地址: https://github.com/asbru-cm/asbru-cm
作者已经打包好了一些流行平台的安装包, 支持的平台可以直接在 Relaese 页面下载. 我电脑装的是比较新的 Linux Mint 19, 而 asbru-cm 的作者发布的成品包最高是支持到 Linux Mint 18.3 的. Mint 18.3 的包在 19 上安装时会提示缺少 libgnome2-vte-perl 包, 而且这个包在官方库里没有, 需要自行下载安装, 下面给出一个下载链接, 包含依赖和 asbru-cm-5.1.0(Ubuntu/mint) 安装包:
百度盘: https://pan.baidu.com/s/1U7Ls20aEuZ5SFffWqlRs9w
asbru-cm 使用技巧
连接基本配置
图 1 连接基本配置示意图
保持会话连接
可以在 SSH Options> Advanced Options 中, 增加一个配置, 达到每 30s 发送一次 keep-alive 包的目的. 点击 Add 按钮, 在 Option 输入框, 选择 S -> ServerAliveInterval, Value 字段输入 30(单位秒), 如下图所示:
图 2 保持会话连接示意图
跳板机支持
访问生产环境时, 通常需要通过跳板机连接到目标服务器, 而 asbru-cm 可以很方便的支持这种
模式, 和 XShell 一样简单.
创建跳板机连接
还以上面创建的连接为例, 要使该连接成为其他连接的跳板 / 代理, 我们只需要在 SSH Options 面板的 Dynamic Socks Proxy 标签下, 指定绑定的本地 IP 和端口号就可以了, 如下图所示:
图 3 跳板机开启本地 Socks 代理端口
这样我们在本地 127.0.0.1:1080 的 IP 和端口上开启了一个 Socks 5 代理, 其他需要通过该跳板机的连接, 只需要设定为使用该代理就可以了. 我们在配置连接时, 在 Connection -> Proxy 选项卡里能看到代理的配置, 但是这个功能现在不生效, 作者也还没有修复这个问题, 所以我们需要其他的代理设置方法.
同样使用 SSH Options -> Advanced Options 进行配置. 我们在 Advanced Options 中增加 ProxyCommand 选项, 并将 Value 设为 nc -X 5 -x 127.0.0.1:1080 %h %p, 如下图所示:
注: 上面 nc 命令中, -X 指定的代理协议,"5" 表示 socks5 代理; -x 指定代理的 IP 和端口
图 4 设置使用跳板机代理
保存后双击连接, 已经连到了目标服务器.
来源: http://www.jianshu.com/p/8fd4994eec8c