iyaozhen
V2EX  ›  问与答

iterm2 怎么添加自定义按钮?

  •  
  •   iyaozhen · Jul 30, 2018 · 7620 views
    This topic created in 3023 days ago, the information mentioned may be changed or developed.
    平常需要登录的服务器比较多,设置为快捷键也记不住呀。有没有能列出机器列表,然后选择或点击按钮就行的(发送 ssh xxx 文本就行)

    我看文档有 Scripts Menu 功能( https://www.iterm2.com/documentation-menu-items.html ),勉强可以满足需求(显示得太平铺了)


    有没有其它好办法
    20 replies  •  2018-11-20 17:24:50 +08:00
    yamamotoahua
    yamamotoahua
    Jul 30, 2018
    1
    $ vim /usr/local/bin/ssh-xxx
    yamamotoahua
    yamamotoahua
    Jul 30, 2018
    2
    #!/usr/bin/expect
    spawn ssh [-p port] IP
    expect "*password:"
    send "[password]\r"
    expect "*#"
    interact
    iyaozhen
    iyaozhen
    OP
    Jul 30, 2018
    3
    @yamamotoahua 额,我不是要解决怎么登录的问题。我是机器太多记不住命令(快捷键)
    比如我有 3 个业务,一个业务下面 10 台机器,设置快捷命令或者快捷键不是太方便
    feiyuanqiu
    feiyuanqiu
    Jul 30, 2018
    4
    用 profile


    yamamotoahua
    yamamotoahua
    Jul 30, 2018
    5
    @iyaozhen 是我理解错了。
    @feiyuanqiu 这种 ssh 之后要求输入密码的怎么办?密码是随机生成的,不好记。
    send text at start 里输入,然后手动复制粘贴有点不人性化。
    feiyuanqiu
    feiyuanqiu
    Jul 30, 2018
    6
    @yamamotoahua 公司允许把公钥传到服务器上,然后用私钥登录吗,可以的话,试试 ssh-copy-id [email protected]
    feiyuanqiu
    feiyuanqiu
    Jul 30, 2018
    7
    @feiyuanqiu 或者可以装一个 sshpass 工具
    https://gist.github.com/arunoda/7790979

    然后在 Command 里面填上 sshpass -p 'YourPassword' ssh user@host
    feiyuanqiu
    feiyuanqiu
    Jul 30, 2018❤️1
    8
    @yamamotoahua 或者可以用 iterm2 的 trigger 功能 https://www.iterm2.com/documentation-triggers.html


    hly9469
    hly9469
    Jul 30, 2018 via iPhone
    9
    ssh copy id 之后,在 zshrc 里做个 alias
    wingoo
    wingoo
    Jul 30, 2018
    10
    shuttle + sshpass
    iyaozhen
    iyaozhen
    OP
    Jul 30, 2018
    11
    @hly9469 问题不在于别名,是机器太多,别名没啥用。最好就是一堆列表在那儿,我要哪个点哪个

    @wingoo shuttle 这个比较符合需求,但是公司有跳板机,稍微有点麻烦,而且不太想脱离 iterm2 去操作
    @feiyuanqiu profile 这个也算是另辟蹊径了,感觉不错
    feiyuanqiu
    feiyuanqiu
    Jul 30, 2018❤️1
    12
    @iyaozhen profile 就是干这事的

    不同的环境用不同的 profile 配置,我本地和开发环境的 profile 都是暗色主题,连接生产环境的 profile 用亮色主题,再定一个 Badge,防止脑袋昏了搞错环境执行错命令,增加主机的时候复制一份,改一下主机地址就行


    用 profile 的 tag 做分组,实现同一个业务的 profile 都归集在一起,方便使用与管理
    iyaozhen
    iyaozhen
    OP
    Jul 30, 2018
    13
    @feiyuanqiu 感谢,原来是这样用的。之前只用了一个 profile,用作远程服务器环境,配置了 sz、rz 等
    Oneneuuu
    Oneneuuu
    Jul 30, 2018 via Android
    14
    zsh,配合 ssh-config 实现补全
    mritd
    mritd
    Jul 30, 2018 via iPhone
    15
    跳板机是个好的应用场景哈,我回去研究研究

    正在撸工具😂
    iyaozhen
    iyaozhen
    OP
    Jul 30, 2018
    16
    @JasonYo 跳板机除了能执行 ssh 啥也干不了

    而且自动补全也不太适合我的场景,比如我把 web 的机器都 web-xxx 命名,但是 xxx 有很多,补全不完,还是要记忆。
    profile+tag 更适合我,无脑点就行
    Oneneuuu
    Oneneuuu
    Jul 30, 2018 via Android
    17
    当你发现 web-xxx 如果很多的话,看着也有点累😂
    learnshare
    learnshare
    Jul 30, 2018
    18
    机器太多,或许应该考虑做一个 Web 控制台,安全性做的高一点
    moonsn
    moonsn
    Sep 11, 2018
    19
    内搜一下 relay_auto_login
    mritd
    mritd
    Nov 20, 2018
    20
    我工具写得差不多了

    https://github.com/mritd/mmh
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1357 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 15:33 · PVG 23:33 · LAX 07:33 · JFK 10:33
    ♥ Do have faith in what you're doing.