V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yqf0215
V2EX  ›  程序员

.ssh/config 里面内容太多,用 Python 做了个带 ui 的检索工具

  •  
  •   yqf0215 · 2022-06-30 17:55:03 +08:00 · 1995 次点击
    这是一个创建于 871 天前的主题,其中的信息可能已经有所发展或是发生改变。

    .ssh/config 里面内容太多,用 python 做了个带 ui 的检索工具

    • 程序的作用是,自动解析 .ssh/config文件,解析出 host
    • 单击 标题头 可以排序
    • 单击行, 会复制相应的 ssh your_host_config 到剪贴板;
    • TODO: 右键单击,会 Term 中运行 ssh your_host_config ,未实现,用于右键单击后,能自动打开 term 并运行ssh your_host_config
    13 条回复    2023-11-20 06:57:39 +08:00
    yqf0215
        1
    yqf0215  
    OP
       2022-06-30 17:56:03 +08:00
    感谢 tkinterHelper ,否则还没这么快完成。
    kokutou
        2
    kokutou  
       2022-06-30 18:01:38 +08:00 via Android
    单击改双击吧。然后给个提示,右上角放个字串闪几秒。
    todo 其实可以不用,因为每个人用的终端软件不一样。
    yqf0215
        3
    yqf0215  
    OP
       2022-06-30 18:03:25 +08:00
    # .ssh/config 里面内容太多,用 python 做了个带 ui 的检索工具


    * 程序的作用是,自动解析 `.ssh/config`文件,解析出 host
    * 单击 标题头 可以排序
    * 单击行, 会复制相应的 `ssh your_host_config` 到剪贴板;
    * TODO: 右键单击,会 Term 中运行 ssh your_host_config ,未实现,用于右键单击后,能自动打开 term 并运行`ssh your_host_config`

    ## .ssh/config 文件中,我增加了 #tags 、#group #color 三个标签。
    * group 就是第一列的分组
    * color 用于标定那一行的颜色
    * tags 用于标志一些辅助信息

    ## 参与检索的字段,'Group', 'Host','tags', 'Hostname','color' 都要包含都可以匹配。
    ## 写这个软件的初衷,是因为自己 config 文件里面 host 太多了,每次要找一个主机的时候,要想当初的写了啥,非常麻烦。后来改用 SecureCRT ,里面的服务器管理,检索功能不够强大,但也不知道怎么弄,就一直将就着。
    ## 有一天看到 shuttle ,菜单栏那里自定义,菜单栏自己分组,自定义命令,感觉挺方便的。但这个方案有个不足,就是除了要编辑一次 ssh/config ,还要编辑一次 shuttle 的配置文件。
    ## 于是想自己写一个工具。一直没有动手,暑假带儿子玩,教他练手,他一看到这个就困得不行,于是还是我自己写吧。

    <img src ="https://raw.githubusercontent.com/zhangyc310/search_ssh_config_host/master/show_demo.png">
    yqf0215
        4
    yqf0215  
    OP
       2022-06-30 18:07:27 +08:00
    @kokutou 更新了一下。20220630 单击复制后,window 的 title 会提示复制的命令
    yqf0215
        5
    yqf0215  
    OP
       2022-06-30 18:09:08 +08:00
    @kokutou 20220630v2 左键单击改双击了
    nightwitch
        6
    nightwitch  
       2022-06-30 18:23:38 +08:00
    一行指令的事

    ssh $(awk "/^Host \w/{print \$2}" ~/.ssh/config | fzf)

    jiezhi
        7
    jiezhi  
       2022-06-30 18:29:25 +08:00
    这个 https://hejki.org/ssheditor/ 可以参考下。
    yqf0215
        8
    yqf0215  
    OP
       2022-06-30 19:14:54 +08:00
    @nightwitch
    @jiezhi
    看了你们的建议,我的需求,是 host 很多,而有时候并不能完全记得 host 的关键词是什么,所以需要需要一些补充信息,tags 就是是我用来补充信息的,host 是 niit ,tags 是南京工业职业技术大学,可能一段时间之后,我只想得起 职业 两个字。。。
    yqf0215
        9
    yqf0215  
    OP
       2022-06-30 19:21:53 +08:00
    我需要添加可以检索的一些信息,这是我的功能需求。
    zlstone
        10
    zlstone  
       2022-07-01 15:02:55 +08:00
    在终端输入 ssh 后按 tab 也能提示 host
    yqf0215
        11
    yqf0215  
    OP
       2022-07-01 20:50:34 +08:00
    @zlstone 你用了 类似 fig 之类的软件吧?
    zlstone
        12
    zlstone  
       2022-07-04 10:41:38 +08:00
    @yqf0215 没有。我用的 fish ,会自动提示
    LonnyWong
        13
    LonnyWong  
       364 天前
    现在有 https://github.com/trzsz/trzsz-ssh 能满足你的诉求。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3490 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 00:52 · PVG 08:52 · LAX 16:52 · JFK 19:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.