• 请不要在回答技术问题时复制粘贴 AI 生成的内容
lswang
V2EX  ›  程序员

命令行下的 SSH List 和登录(适合 mac 和 Linux )

  •  
  •   lswang · Nov 14, 2019 · 4939 views
    This topic created in 2551 days ago, the information mentioned may be changed or developed.

    介绍

    这个工具可以在命令行下保存 ssh 列表,还可以直接访问。 代码地址: https://github.com/longshengwang/msh

    安装

    # 方式一
    pip install msh
    
    # 方式二
    git clone https://github.com/longshengwang/msh
    cd msh
    python setup.py install
    
    

    用法

    演示视频: https://imgur.com/fw40MYT

    1. 添加 ssh 信息

    ✗ msh -a [email protected]:2341@test_alias
    Input Your Password:
    

    说明:

    • 如果是默认端口,可以不需要指定端口
    • 最后的alias 是别名

    2. 查看 ssh 列表

    ✗ msh -l
    

    3. 访问 ssh

    msh < ip or alias>
    

    说明:后面可以直接加 IP 其中的一段,也可以是 alias 中的部分或者全部。如果有多个匹配项,会让用户选择想要登录的Host

    4. 删除 ssh

    # 方法一
    msh -d < host ip >
    # 方法二
    msh -D
    
    30 replies  •  2019-11-25 23:48:15 +08:00
    inhzus
    inhzus
    Nov 14, 2019❤️4
    2
    ~/.ssh/config 命令行下的 ssh 登录

    介绍
    这个工具可以在命令行下保存 ssh 列表,还可以直接访问。

    安装
    ssh 原生支持,不需要安装

    用法
    1. 添加 / 查看 / 删除 ssh 列表

    $ vim ~/.ssh/config

    2. 访问 ssh

    $ ssh {name}

    bash 支持自动补全
    lswang
    lswang
    OP
    Nov 14, 2019
    3
    @inhzus 还真不知道 ssh 还有这功能。。。
    66450146
    66450146
    Nov 14, 2019
    4
    明文保存密码不太好吧……
    lswang
    lswang
    OP
    Nov 14, 2019 via iPhone
    5
    @66450146 就内网用用,Python 写的也没法加密,一看代码就知道怎么解密了。还有公网的主机也不能用密码啊
    KentY
    KentY
    Nov 14, 2019
    6
    这个比在 .ssh/config 中预设各种 alias 优越性在哪里?
    KentY
    KentY
    Nov 14, 2019
    7
    @inhzus 对对,看到马上也是这个感觉... 没看到你的回复... 发了条重复信息..
    v2ex 不能删除回复么?
    KentY
    KentY
    Nov 14, 2019
    8
    @lswang 怎么可能一看代码就知道怎么解密了?
    最简单的, 你用 md5 的库, 难道人家看到你用 md5sum, 就能解密了? 而且那么多加密算法呢. 我还用 python 写了个密码管理程序在 keepass 前用了很多年呢.
    hanxiV2EX
    hanxiV2EX
    Nov 14, 2019 via Android
    9
    可以写个脚本读取 config 文件里的 Host 列表,并支持 ctrl+r 搜索,ctrl+j/k 上下移动选中,enter 执行选中目标。
    C0VN
    C0VN
    Nov 14, 2019
    10
    这轮子造的。。。
    lswang
    lswang
    OP
    Nov 14, 2019
    12
    @KentY 大哥,登录的时候你要取出来填进去啊。这个和用户验证不一样
    lswang
    lswang
    OP
    Nov 14, 2019
    13
    @hanxiV2EX 这个可以有
    Chingim
    Chingim
    Nov 14, 2019 via Android
    14
    老铁,闭门造车了呀
    tankren
    tankren
    Nov 14, 2019
    15
    zsh 不是很方便。
    tomychen
    tomychen
    Nov 14, 2019
    16
    .ssh/config 不好用么?
    lswang
    lswang
    OP
    Nov 14, 2019
    17
    @Chingim 😆 是的,要是知道 ssh config,就不写这个了
    ipwx
    ipwx
    Nov 14, 2019
    18
    @lswang 那还有个,ssh-copy-id 这个命令行你知道么
    lswang
    lswang
    OP
    Nov 14, 2019
    19
    @tomychen 看文档是很好用,我的想法它都有了 😆
    lswang
    lswang
    OP
    Nov 14, 2019
    20
    @ipwx 这个只是免密码登录,登录的时候还是要输全部的 IP 地址,我这个工具只需要其中一段(1/4)就行了
    ipwx
    ipwx
    Nov 14, 2019
    21
    @lswang 嘛,一般来说我都是先写 ~/.ssh/config 再用 ssh-copy-id 的。
    tomychen
    tomychen
    Nov 14, 2019
    22
    @lswang 哈哈...我以前也想过要写类似的,查文档才知道有这个,所以...
    Vegetable
    Vegetable
    Nov 14, 2019
    23
    kde 下使用 ssh-copy-id+konsole 书签功能.
    jmperdev
    jmperdev
    Nov 14, 2019
    24
    我没忍住。。
    masker
    masker
    Nov 14, 2019 via Android
    25
    SSH config 能虐你 10 条街吧
    hei1000
    hei1000
    Nov 14, 2019
    26
    github repo readme 都没有,为什么不把这个页面的 readme 贴上去, 最好英文的, 用户范围广一点
    KentY
    KentY
    Nov 14, 2019 via iPhone
    27
    @lswang 如果你做开源的密码管理怎么办?密码都保存着,用的时候取出来。开源跟加密解密是俩概念。
    lswang
    lswang
    OP
    Nov 25, 2019
    28
    @KentY 因为登录的时候,内部还是 ssh 登录,取密码的代码的逻辑都可以看到。不管用对称加密还是非对称加密,秘钥或者公私钥 要么是保存数据库要么写死,别人都是可以看到的。
    lswang
    lswang
    OP
    Nov 25, 2019
    29
    @hei1000 多谢建议
    lswang
    lswang
    OP
    Nov 25, 2019
    30
    @masker 十条街,不至于吧。大部分情况下我只需要 5、6 个字符就能登录了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1489 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 56ms · UTC 06:11 · PVG 14:11 · LAX 22:11 · JFK 01:11
    ♥ Do have faith in what you're doing.