参考 :
https://www.cnblogs.com/lqyye/p/7224268.html [转载]
https://blog.csdn.net/kaikai136412162/article/details/80743641
https://www.cnblogs.com/manug/p/7979277.html
#!/usr/bin/expect
spawn ssh root@127.0.0.1
expect "*password:"
send "*****\r"
expect "*#"
interact
注 : 把"127.0.0.1"替换成远程连接的地址,root是用户名,"*****"替换成密码,密码后面需加"\r"
扩展,连接ssh后执行命令
#!/usr/bin/expect
spawn ssh root@127.0.0.1
expect "*password:"
send "*****\r"
expect "*#"
send "echo 'hello world'\r"
send "./hello.sh\r"
interact
send "echo 'hello world'\r" : 执行命令
send "./hello.sh\r" : 执行脚本
interact 表示保持停留在当前进程会话,如果用 expect eof 会结束结束expect和相应进程会话结束
每个命令后面都得加上 \r ,表示回车
ctrl/control + d : 登出ssh
END。