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

2024 年了, macOS 上最好用的 SSH 工具是啥?

  •  1
     
  •   alanying · 2023-11-07 18:19:26 +08:00 · 5463 次点击
    这是一个创建于 380 天前的主题,其中的信息可能已经有所发展或是发生改变。

    不瞒大家说,我 VMWare Fusion + XShell

    但是感觉太厚重了。

    50 条回复    2024-04-19 22:18:30 +08:00
    haoxingxing
        1
    haoxingxing  
       2023-11-07 18:23:08 +08:00
    termius
    Geekgogo
        2
    Geekgogo  
       2023-11-07 18:23:49 +08:00
    不要折腾了,直接上 iterm2 + profile 配置文件嘎嘎好用,传文件就配合使用 FileZilla
    steveshi
        3
    steveshi  
       2023-11-07 18:24:34 +08:00
    目前用起来 SSH Term Pro 还行
    cxdLand
        4
    cxdLand  
       2023-11-07 18:29:52 +08:00
    iterm2
    darksword21
        5
    darksword21  
       2023-11-07 18:39:52 +08:00 via iPhone   ❤️ 2
    自带的 terminal 和 ssh 不行吗,跑个虚拟机加 xshell 我很不理解…
    chiron688
        6
    chiron688  
       2023-11-07 19:40:10 +08:00 via iPhone
    用来用去我都还是 finalshell ,退而求其次就是 nextssh
    orlog
        7
    orlog  
       2023-11-07 19:42:59 +08:00
    一直用自带的终端,没觉得有什么问题啊
    naminokoe
        8
    naminokoe  
       2023-11-07 19:52:29 +08:00
    @Geekgogo ssh 不就是为了连接远程 coding 吗?那直接 vscode 就行了,文件传输 + 终端 + 文本编辑器全部搞定
    jedrek
        9
    jedrek  
       2023-11-07 21:51:38 +08:00
    rio 可期
    kanchi240
        10
    kanchi240  
       2023-11-07 23:18:40 +08:00
    @orlog 主机多了怎么保存和管理,有啥法子吗
    missuo
        11
    missuo  
       2023-11-07 23:23:16 +08:00 via iPhone
    termius
    mikaelson
        12
    mikaelson  
       2023-11-07 23:37:11 +08:00
    termius
    weichengwu
        13
    weichengwu  
       2023-11-08 00:05:34 +08:00
    Core Shell 不错
    yhrzpm
        14
    yhrzpm  
       2023-11-08 03:16:05 +08:00
    有两个古老的项目,应该都是国人写的小工具,我觉得挺好用的。不知道两位作者在不在 v2.
    https://github.com/islenbo/autossh
    https://github.com/FeeiCN/autossh
    wunonglin
        15
    wunonglin  
       2023-11-08 06:45:18 +08:00
    termius
    orlog
        16
    orlog  
       2023-11-08 08:05:54 +08:00
    @kanchi240 你是不是没给主机设置域名,每次都要输入 ip? 我是给每个主机分配了一个简短易记的二级域名
    t41372
        17
    t41372  
       2023-11-08 08:10:28 +08:00 via Android
    我给常用的主机设了 alias ,比如 s1 ,s2 之类的,再加上用 ssh key 取代密码,命令行输入两个字直接连线
    paranoiagu
        18
    paranoiagu  
       2023-11-08 08:13:52 +08:00 via Android
    termius
    gowas
        19
    gowas  
       2023-11-08 08:16:09 +08:00
    idea
    LonnyWong
        20
    LonnyWong  
       2023-11-08 08:40:10 +08:00   ❤️ 2
    ethanpeng
        21
    ethanpeng  
       2023-11-08 08:41:47 +08:00
    royal tsx
    dddd1919
        22
    dddd1919  
       2023-11-08 08:45:43 +08:00   ❤️ 3
    别折磨自己,换 win 吧
    Dlin
        23
    Dlin  
       2023-11-08 09:06:31 +08:00
    我用的自带的终端,。感觉挺好用啊
    winterbells
        24
    winterbells  
       2023-11-08 09:07:52 +08:00
    @dddd1919 用了一个月 mac 还是觉得 Windows 好用 ==

    termius 的 SFTP 干吗只能显示半屏,也没有目录列表…
    zfy941
        25
    zfy941  
       2023-11-08 09:09:44 +08:00
    你的方案让我震惊
    我用 termius 和 iterm2 两个都用
    ultimate42
        26
    ultimate42  
       2023-11-08 09:10:23 +08:00
    warp
    RudyS
        27
    RudyS  
       2023-11-08 09:14:02 +08:00
    我能说当初买 mac 的一部分原因就是自带 terminal 吗,实在不想在 windows 上折腾。
    Terry166
        28
    Terry166  
       2023-11-08 09:46:49 +08:00 via iPhone
    item2 / mac 自带 terminal / vs code terminal
    poisedflw
        29
    poisedflw  
       2023-11-08 09:49:25 +08:00
    自己写的脚本,可以放在:/usr/local/bin/xxx
    ```
    #!/bin/bash

    # https://gist.github.com/pkuczynski/8665367
    parse_yaml() {
    local prefix=$2
    local s='[[:space:]]*' w='[a-zA-Z0-9_]*' fs=$(echo @|tr @ '\034')
    sed -ne "s|^\($s\)\($w\)$s:$s\"\(.*\)\"$s\$|\1$fs\2$fs\3|p" \
    -e "s|^\($s\)\($w\)$s:$s\(.*\)$s\$|\1$fs\2$fs\3|p" $1 |
    awk -F$fs '{
    indent = length($1)/2;
    vname[indent] = $2;
    for (i in vname) {if (i > indent) {delete vname[i]}}
    if (length($3) > 0) {
    vn=""; for (i=0; i<indent; i++) {vn=(vn)(vname[i])("_")}
    printf("%s%s%s=\"%s\"\n", "'$prefix'",vn, $2, $3);
    }
    }'
    }

    config_yml=$HOME/secret/server.yml

    echo "欢迎使用快捷登录软件"

    eval $(parse_yaml "${config_yml}" config_)

    select server in $config_server; do
    if [ ! -z "$server" ];then
    break;
    fi
    done

    # 都是一些默认值
    port=config_${server}_port
    port=${!port}
    if [ -z "$port" ];then
    port=22
    fi

    hostname=config_${server}_hostname
    hostname=${!hostname}
    if [ -z "$hostname" ];then
    echo "不存在服务器配置,自动退出\n"
    exit 0
    fi

    username=config_${server}_username
    username=${!username}
    if [ -z "$username" ];then
    username=root
    fi

    password=config_${server}_password
    password=${!password}

    # 证书信息
    pem=config_${server}_pem
    pem=${!pem}

    cmd="-o ServerAliveInterval=60 -p $port $username@$hostname"
    if [ ! -z "$pem" ];then
    cmd="-i ${pem} ${cmd}"
    fi

    # 跳板机
    # ssh -J user1@host1:port1,user2@host2:port2 user3@host3:port3
    proxy_jump=config_${server}_proxy_jump
    proxy_jump=${!proxy_jump}
    if [ ! -z "$proxy_jump" ]; then
    cmd="-J ${proxy_jump} ${cmd}"
    fi

    # 加上 scp 前缀
    cmd="ssh ${cmd}"

    if [ ! -z "$password" ];then
    cmd="sshpass -p ${password} ${cmd}"
    fi

    echo $cmd

    eval $cmd
    ```
    配置文件放在:$HOME/secret/server.yml
    ```
    server name1 name2
    name1:
    hostname: 127.0.0.1
    port: 22
    username: root
    password: 123456
    pem: /path/to/xxx.pem
    proxy_jump: 192.168.0.1:444
    name2:
    ...
    ```
    idontnowhat2say
        30
    idontnowhat2say  
       2023-11-08 10:12:34 +08:00
    不太理解有什么折腾的必要。10 台以内 完全 iterm2 + ssh config 文件就可以搞定。100 台以内随便找个客户端就行。超过 100 台就考虑堡垒机了。
    Shunichi
        31
    Shunichi  
       2023-11-08 10:31:51 +08:00
    vscode + remote-ssh
    lifei6671
        32
    lifei6671  
       2023-11-08 10:37:17 +08:00
    我说一个冷门收费的,zoc terminal 。界面比较复古,但是功能确实强大。
    qingshui33
        33
    qingshui33  
       2023-11-08 10:42:48 +08:00
    item2 ,或者 alacritty ,第二个感觉会就轻量点,后面就逐步没有再用 item2 了
    zhdi
        34
    zhdi  
       2023-11-08 13:17:58 +08:00 via iPhone
    @kanchi240 直接写 ssh config 就可以了,然后配置好 key ,每次 ssh + 设置好的短名,还嫌麻烦就 alias 一下
    wuyiccc
        35
    wuyiccc  
       2023-11-08 13:19:43 +08:00
    royal tsx
    bohai
        36
    bohai  
       2023-11-08 13:32:42 +08:00
    SecureCRT [旺柴]
    kevinroot
        37
    kevinroot  
       2023-11-08 13:41:44 +08:00
    iterm2 + alfred 自己写的 ssh 插件,比如 cmd + 空格输 ssh test 自动连上 test 环境服务器,插件脚本主要用的是 /usr/bin/expect
    xycool
        38
    xycool  
       2023-11-08 13:49:58 +08:00
    warp
    ZekeChin
        39
    ZekeChin  
       2023-11-08 14:26:24 +08:00
    推荐一下自己写的小东西 https://github.com/Zeke-chin/ssh_auto_connect
    swap123
        40
    swap123  
       2023-11-08 14:55:19 +08:00
    SecureCRT
    huijiewei
        41
    huijiewei  
       2023-11-08 16:56:33 +08:00
    以前用 shutter ,但是好久没更新了,也没有 arm 版本

    现在换 https://github.com/dieskim/MenuBarSSHCommands
    coosir
        42
    coosir  
       2023-11-08 17:00:18 +08:00   ❤️ 1
    @LonnyWong tssh 很好用!!
    SbloodyS
        43
    SbloodyS  
       2023-11-08 17:00:33 +08:00
    tabby
    techzhou
        44
    techzhou  
       2023-11-08 19:27:11 +08:00
    虚拟机加 xshell 没毛病 profile 什么的 又多又杂的情况根本不行
    GooMS
        45
    GooMS  
       2023-11-08 19:39:24 +08:00 via Android
    Alias 的问题是多台设备的同步
    FightPig
        46
    FightPig  
       2023-11-08 19:42:40 +08:00
    以前一直用的 shuttle
    ab
        47
    ab  
       2023-11-08 20:01:55 +08:00   ❤️ 1
    @GooMS

    ln -sf ~/Documents/ssh/zshrc ~/.zshrc

    打开 icloud 同步 documents, 多设备问题就解决了
    kanchi240
        48
    kanchi240  
       2023-11-08 21:42:05 +08:00
    @zhdi @orlog 谢谢,我试试
    Mangozzx
        49
    Mangozzx  
       217 天前
    @wuyiccc 老哥 你知道 royal tsx 有办法记录一些常用的快捷命令吗 可以直接在 terminal 快速输入的那种
    wuyiccc
        50
    wuyiccc  
       216 天前
    @Mangozzx 我也不太清楚,哈哈哈
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3463 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 04:35 · PVG 12:35 · LAX 20:35 · JFK 23:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.