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

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

1. 安装 expect

brew install expect

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

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

2. 创建 except 脚本

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个参数。
还需要给脚本执行权限

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

3. 新建 profiles

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

4. 最终效果

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


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

-------------本文结束感谢阅读-------------
0%