- OS: macOS Big Sur 11.6
- ITerm2: 3.4.10
- CPU: x86架构
由于mac没有xshell也没有MobaXterm,找了个据说最好使的iTerm2。但是,iterm2不方便保存远程服务的会话,每次都要输入ip和密码登录。所以结合配置脚本来实现保存ssh密码功能。一.创建ssh自动登陆脚本 1.1进入任意目录下后创建登陆脚本
cd /xxx/xxx touch login.sh1.2编辑登陆脚本
vim login.sh
#!/usr/bin/expect
set timeout 30
spawn ssh -p [lindex $argv 0] [lindex $argv 1]@[lindex $argv 2]
expect {
"(yes/no)?"
{send "yesn";exp_continue}
"password:"
{send "[lindex $argv 3]n"}
}
interact
- $argv 0 代表调用脚本的第一个参数 端口号(22)
- $argv 1 代表调用脚本的第二个参数 远程服务用户名(root)
- $argv 2 代表调用脚本的第三个参数 远程服务的ip (192.168.1.11)
- $argv 3 代表调用脚本的第四个参数 远程服务的密码
- 端口不需要输入的时候,删除-p [lindex $argv 0],并将后面的参数index都跟着减一
sudo chmod 777 login.sh二.配置profile
Preferences --> profiles --> General --> Command --> Login Shell --> Send text at start
/Users/mac/mylogin/login.sh 22 root 192.168.1.54 test123
注意:如果密码中包含特殊字符需要输入参数的时候转义
#例:test$123 => test$123 /Users/mac/mylogin/login.sh 22 root 192.168.1.54 test$123三.使用配置好的profile
在iTerm2界面使用快捷键 command + O ,选择选择编辑好的profile,就可以使用啦!



