shell(1) : 自动连接ssh脚本并执行命令

参考 : 

    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 [email protected]
expect "*password:"
send "*****\r"
expect "*#"
interact

注 : 把"127.0.0.1"替换成远程连接的地址,root是用户名,"*****"替换成密码,密码后面需加"\r"

 

扩展,连接ssh后执行命令

#!/usr/bin/expect
spawn ssh [email protected]
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。 

你可能感兴趣的:(shell)