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 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。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值