iTerm2创建ssh自动登陆脚本
iterm2保存ssh密码自动登录
前提:
-
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.sh
1.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 "yes ";exp_continue} "password:" { send "[lindex $argv 3] "} } interact
-
$argv 0 代表调用脚本的第一个参数 端口号(22) $argv 1 代表调用脚本的第二个参数 远程服务用户名(root) $argv 2 代表调用脚本的第三个参数 远程服务的ip (192.168.1.11) $argv 3 代表调用脚本的第四个参数 远程服务的密码 端口不需要输入的时候,删除-p [lindex $argv 0],并将后面的参数index都跟着减一
1.3 给脚本增加可执行权限
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,就可以使用啦!