MacOS 上让 iTerm2 记住SSH用户名密码

win下习惯使用 xshell,但是 xshell 并无 MacOS 版。了解到了 iterm2 这款软件,通过一些改造也能实现类似的效果。

1. 安装 expect

1
brew install expect

如果遇到 man 目录的权限问题可以执行以下命令后在执行安装命令

1
sudo chown -R $(whoami) /usr/local/share/man/man5

2. 创建 except 脚本

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
sudo vim /usr/local/bin/iterm2login.sh

#!/usr/bin/expect

set timeout 30
spawn ssh -p [lindex $argv 0] [lindex $argv 1]@[lindex $argv 2]
expect {
        "(yes/no)?"
        {send "yes\n";exp_continue}
        "password:"
        {send "[lindex $argv 3]\n"}
}
interact

这里[lindex $argv 0], [lindex $argv 1],[lindex $argv 2], [lindex $argv 3] 分别代表着 端口号 用户名 服务器地址 密码 4个参数。 还需要给脚本执行权限

1
sudo chmod +x /usr/local/bin/iterm2login.sh

3. 新建 profiles

iTerm2 -> Preferences -> Profiles 为每个服务器的连接, 打上不同的Tag, 就自动按Tag分好组了. 创建profiles 另外 还可以在Colors中设置每个打开Tab 的颜色. 多个项目同时操作也不怕搞错了. tab color tab

4. 最终效果

如图,使用起来方便多了 最终效果


方法来源于网上,稍作修改

Licensed under CC BY-NC-SA 4.0
一个默默无闻的工程师的日常
Built with Hugo
主题 StackJimmy 设计