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

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

  •  
  •   lswang · 2019-11-14 00:19:54 +08:00 · 3657 次点击
    这是一个创建于 1821 天前的主题,其中的信息可能已经有所发展或是发生改变。

    介绍

    这个工具可以在命令行下保存 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 条回复    2019-11-25 23:48:15 +08:00
    lswang
        1
    lswang  
    OP
       2019-11-14 00:20:01 +08:00
    inhzus
        2
    inhzus  
       2019-11-14 00:24:06 +08:00   ❤️ 4
    ~/.ssh/config 命令行下的 ssh 登录

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

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

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

    $ vim ~/.ssh/config

    2. 访问 ssh

    $ ssh {name}

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