iterm2 怎么添加自定义按钮? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iyaozhen
V2EX    问与答

iterm2 怎么添加自定义按钮?

  •  
  •   iyaozhen 2018-07-30 14:09:29 +08:00 6790 次点击
    这是一个创建于 2629 天前的主题,其中的信息可能已经有所发展或是发生改变。
    平常需要登录的服务器比较多,设置为快捷键也记不住呀。有没有能列出机器列表,然后选择或点击按钮就行的(发送 ssh xxx 文本就行)

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


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


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

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


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

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

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


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

    正在撸工具
    iyaozhen
        16
    iyaozhen  
    OP
       2018-07-30 20:54:57 +08:00
    @JasonYo 跳板机除了能执行 ssh 啥也干不了

    而且自动补全也不太适合我的场景,比如我把 web 的机器都 web-xxx 命名,但是 xxx 有很多,补全不完,还是要记忆。
    profile+tag 更适合我,无脑点就行
    Oneneuuu
        17
    Oneneuuu  
       2018-07-30 22:19:55 +08:00 via Android
    当你发现 web-xxx 如果很多的话,看着也有点累
    learnshare
        18
    learnshare  
       2018-07-30 22:24:13 +08:00
    机器太多,或许应该考虑做一个 Web 控制台,安全性做的高一点
    moonsn
        19
    moonsn  
       2018-09-11 16:23:34 +08:00
    内搜一下 relay_auto_login
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3723 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 55ms UTC 10:17 PVG 18:17 LAX 03:17 JFK 06:17
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86