工作当中经常遇到需要ssh 登陆的问题,每次执行ssh 命令,然后输入密码,特别麻烦。有没有脚本可以替代呢这些工作呢,肯定是有的。
mac下需要安装expect 和 spawn-fcgi
brew install xxx 安装即可
创建test.sh
命令解释
send:用于向进程发送字符串
expect:从进程接收字符串
spawn:启动新的进程
interact:允许用户交互
这里是expect 的安装路径 which命令可自行查看
#!/usr/bin/expect -f
set timeout 5
spawn ssh user@xxxxx
expect "*password*"
send "123456\n"
expect "*Last login*"
interact
注意
1.代码里我加注释,就执行失败。之前spawn 后面加了注释,就一直报
send: spawn id exp6 not open 错误,去掉了就好了
- 这里只是简单的demo,后面还可以加自己想要的命令,这样的一个登录带执行命令的shell 就完成了