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

查看 15|回复 0
作者: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
您需要登录后才可以回帖 登录 | 立即注册

返回顶部