支持在跳板机上自动选择(登录)服务器的 ssh 客户端

359 天前
 LonnyWong

很多公司都会搞个跳板机,在本地登录跳板机要一些步骤,在跳板机上登录服务器又要一些步骤。
这些步骤能不能合二为一,简化登录流程呢?

https://github.com/trzsz/trzsz-ssh 新版本 v0.1.16 就可以做到。这里简单介绍一下用法。

假设跳板机 J 后面有 A B C 三台服务器,一般是在本地配置跳板机 J ,登录 J 之后再手工选择 A B C 之一登录。
trzsz-ssh ( tssh ) 就可以在本地直接配置 A B C 三台服务器,省去在跳板机 J 上的人工操作。
以下是在 ~/.ssh/config 中配置 A B C 三台服务器的例子:

Host A
    HostName 172.21.0.2  # 跳板机 J 的 IP
    Port 2222            # 跳板机 J 的端口
    User username        # 跳板机 J 的用户名
    # 以下是记住跳板机 J 的登录密码( 通过 tssh --enc-secret 得到 ),推荐使用公钥登录。
    #!! encPassword f48160ae63d6eaa5a53983e5f9afe6a0c99f3e791d48714ba3405bed88ca4495
    #!! ExpectCount 1    # 有些跳板机只要交互一次就能登录目标服务器,这里配置交互次数
    #!! ExpectPattern1 Opt>  # 跳板机的输入提示符
    #!! ExpectSendText1 172.22.0.11\r   # 有些跳板机可以直接输入目标服务器的 IP 登录,\r 代表回车

Host B
    # 前面的配置和 A 一样,可以直接复制下来( ~/.ssh/config 支持通配符,可以简化配置 )
    #!! ExpectSendText1 172.22.0.12\r   # 这里配置目标服务器 B 的 IP

Host C
    # 前面的配置和 A 一样,可以直接复制下来
    #!! ExpectSendText1 172.22.0.13\r   # 这里配置目标服务器 C 的 IP

当配置 ExpectCount 大于 0 后,通过 tssh --debug 登录,可以看到跳板机的输出,然后设计自己的登录剧本。

配置完成后,可以 tssh A 直接登录,也可以不带参数运行 tssh ,然后会有界面选择 A B C 进行登录,支持搜索,支持多选并批量登录。更多用法可以看开源的 README: https://github.com/trzsz/trzsz-ssh

1618 次点击
所在节点    程序员
2 条回复
idblife
359 天前
windterm 里面配置一个跳转就搞定了
LonnyWong
359 天前
@idblife #1 是 ProxyJump 吗?有些跳板机不支持吧。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1002990

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX