一、新建一个exp文件
# cd /usr/local/bin # touch iterm2login.exp # vim iterm2login.exp
二、编写文件内容(trap一定要加上,expect会导致窗口缩放,vim错乱问题)
#!/usr/bin/expect #trap sigwinch spawned #捕获窗口大小改变的信息 trap { set rows [stty rows] set cols [stty columns] stty rows $rows columns $cols < $spawn_out(slave,name) } WINCH 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
三、给文件可执行权限
# chmod +x iterm2login.exp
四、配置 profile
1. 打开iterm2,command+,进入设置,点击Profiles即可。或者command+o打开profiles(再者菜单Profiles->Open Profiles),点击右下角的Edit Profiles ,配置profile,如下图:
2. command 那里就是填 expect + 脚本名字(绝对路径) + 端口号 + 用户名 + 服务器ip + 密码
expect /usr/local/bin/iterm2login.exp 22 root 192.168.1.30 root root
3. 打开iterm2,command+o打开profiles菜单,点击自己配置的profile name。
多台服务器账号密码相同,或者账号密码不显示方式
一、新建一个exp文件
# cd /usr/local/bin # touch iterm2same.exp # vim iterm2same.exp
二、编写文件内容(trap一定要加上,expect会导致窗口缩放,vim错乱问题)
#!/usr/bin/expect #trap sigwinch spawned #捕获窗口大小改变的信息 trap { set rows [stty rows] set cols [stty columns] stty rows $rows columns $cols < $spawn_out(slave,name) } WINCH set PORT 22 set USER root set PASSWD root set timeout 30 spawn ssh -p $PORT $USER@[lindex $argv 0] expect { "(yes/no)?" {send "yes\n";exp_continue} "password:" {send "$PASSWD\n"} } interact
三、给文件可执行权限
# chmod +x iterm2same.exp
四、配置 profile
1. 打开iterm2,command+,进入设置,点击Profiles即可。或者command+o打开profiles(再者菜单Profiles->Open Profiles),点击右下角的Edit Profiles ,配置profile,如下图:
2. command 那里就是填 expect + 脚本名字(绝对路径) + 服务器ip
expect /usr/local/bin/iterm2login.exp 192.168.1.30
3. 打开iterm2,command+o打开profiles菜单,点击自己配置的profile name。
您可以选择一种方式赞助本站