支持在跳板机上自动选择(登录)服务器的 ssh 客户端 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
LonnyWong
V2EX    程序员

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

 
  •   LonnyWong 2023-12-24 14:42:55 +08:00 1999 次点击
    这是一个创建于 664 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    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

    tssh 登录演示

    2 条回复    2023-12-24 15:59:15 +08:00
    idblife
        1
    idblife  
       2023-12-24 15:06:55 +08:00
    windterm 里面配置一个跳转就搞定了
    LonnyWong
        2
    LonnyWong  
    OP
       2023-12-24 15:59:15 +08:00
    @idblife #1 是 ProxyJump 吗?有些跳板机不支持吧。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2533 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 80ms UTC 10:33 PVG 18:33 LAX 03:33 JFK 06:33
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86