1.依赖条件
1. expect
expect是一个自动化交互套件,主要应用于执行命令和程序时,系统以交互形式要求输入指定字符串,实现交互通信。
2. 自定义脚本
在/usr/local/bin 目录下创建 login.sh 文件,内容如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| #!/usr/bin/expect
if {[llength $argv] != 4} { puts "Usage: ./login.sh <port> <username> <host> <password>" exit 1 }
set timeout 30
set port [lindex $argv 0] set user [lindex $argv 1] set host [lindex $argv 2] set password [lindex $argv 3]
spawn ssh -p $port $user@$host expect { "*yes/no*?" { send "yes\n" exp_continue }
"*assword:*" { send -- "$password\n" }
timeout { puts "Error: Connection timed out. Check your network or host information." exit 1 }
eof { puts "Error: Unexpected EOF or connection failure." exit 1 } }
interact
|
脚本授权,可执行权限
测试脚本
1 2
| login.sh 22 root 110.110.110.110 '123456'
|
3.iTerm2 配置远程服务器保存账号密码
打开 profile 编辑页面,把登录脚本拷贝到指定输入框,如图:
在profile中选择刚才做好的的标签