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

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

  •  1
     
  •   alanying · 363 天前 · 5287 次点击
    这是一个创建于 363 天前的主题,其中的信息可能已经有所发展或是发生改变。

    不瞒大家说,我 VMWare Fusion + XShell

    但是感觉太厚重了。

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

    termius 的 SFTP 干吗只能显示半屏,也没有目录列表…
    zfy941
        25
    zfy941  
       363 天前
    你的方案让我震惊
    我用 termius 和 iterm2 两个都用
    ultimate42
        26
    ultimate42  
       363 天前
    warp
    RudyS
        27
    RudyS  
       363 天前
    我能说当初买 mac 的一部分原因就是自带 terminal 吗,实在不想在 windows 上折腾。
    Terry166
        28
    Terry166  
       363 天前 via iPhone
    item2 / mac 自带 terminal / vs code terminal
    poisedflw
        29
    poisedflw  
       363 天前
    自己写的脚本,可以放在:/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  
       363 天前
    不太理解有什么折腾的必要。10 台以内 完全 iterm2 + ssh config 文件就可以搞定。100 台以内随便找个客户端就行。超过 100 台就考虑堡垒机了。
    Shunichi
        31
    Shunichi  
       363 天前
    vscode + remote-ssh
    lifei6671
        32
    lifei6671  
       363 天前
    我说一个冷门收费的,zoc terminal 。界面比较复古,但是功能确实强大。
    qingshui33
        33
    qingshui33  
       363 天前
    item2 ,或者 alacritty ,第二个感觉会就轻量点,后面就逐步没有再用 item2 了
    zhdi
        34
    zhdi  
       363 天前 via iPhone
    @kanchi240 直接写 ssh config 就可以了,然后配置好 key ,每次 ssh + 设置好的短名,还嫌麻烦就 alias 一下
    wuyiccc
        35
    wuyiccc  
       363 天前
    royal tsx
    bohai
        36
    bohai  
       363 天前
    SecureCRT [旺柴]
    kevinroot
        37
    kevinroot  
       363 天前
    iterm2 + alfred 自己写的 ssh 插件,比如 cmd + 空格输 ssh test 自动连上 test 环境服务器,插件脚本主要用的是 /usr/bin/expect
    xycool
        38
    xycool  
       363 天前
    warp
    ZekeChin
        39
    ZekeChin  
       363 天前
    推荐一下自己写的小东西 https://github.com/Zeke-chin/ssh_auto_connect
    swap123
        40
    swap123  
       363 天前
    SecureCRT
    huijiewei
        41
    huijiewei  
       363 天前
    以前用 shutter ,但是好久没更新了,也没有 arm 版本

    现在换 https://github.com/dieskim/MenuBarSSHCommands
    coosir
        42
    coosir  
       363 天前   ❤️ 1
    @LonnyWong tssh 很好用!!
    SbloodyS
        43
    SbloodyS  
       363 天前
    tabby
    techzhou
        44
    techzhou  
       362 天前
    虚拟机加 xshell 没毛病 profile 什么的 又多又杂的情况根本不行
    GooMS
        45
    GooMS  
       362 天前 via Android
    Alias 的问题是多台设备的同步
    FightPig
        46
    FightPig  
       362 天前
    以前一直用的 shuttle
    ab
        47
    ab  
       362 天前   ❤️ 1
    @GooMS

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

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