mac下自动登录脚本
安装expct
- 安装brew install expect
- 查看expedt位置 which expect
显示我安装位置 /usr/local/bin/expect
编写脚本登录
#!/usr/local/bin/expect
## 主机地址
set host xxx.xxx.xxx.xxx
## 用户名
set username zhangsan
## 密码
set passwd xxxxxx
## ssh
spawn ssh ${username}@${host}
## expect对通过spawn执行的shell脚本的返回进行判断,是否包含password字符串,如执行脚本 xxx@xxxx's password:
expect "**password:"
## 如果expect监测到了包含的字符串,将输入send中的内容,\n相当于回车
# send "${passwd}\n"
send "${passwd}\r"
## 退出expect返回终端,可以继续输入,否则将一直在expect不能退出到终端
interact
注意事项
- 脚本的第一行一定是 expect 所在目录
- 增加脚本的执行权限 chmod a+x xxx.sh
- 执行命令为 expect xxx.sh(可省略第2步) 或 ./xxx.sh
- 此脚本不适用于第一次登录,因为只有输入密码,并没有其他判断。如果是第一次登录可能会出现yes/no提示,有兴趣可以我上午尝试。如果不想尝试的可以先执行 ssh xxx@xxx.xxx.xxx.xxx 然后输入yes,再退出,最后执行下脚本即可。