如何使用一批命令对服务器执行顺序SSH

时间:2011-12-07 02:40:18

标签: linux ssh

我正在使用数据库服务器,但我必须多次ssh才能访问它。像这样:

step1) ssh xxx@xxx.xxx.xxx
pw: xxx

step2) ssh yyy@yyy.yyy.yyy
pw:yyy

step3) sudo mysqlsh
pw:zzzz

step4) mysql -u root -paaaa
use mydb;

如何按顺序运行这些命令?我想创建一个脚本批处理来完成它。怎么做?

更新: Itried做到这一点,但不起作用。它只是第一次登录。

#!/usr/local/bin/expect

spawn ssh xxx@xxx
expect "*password:"
send "xxx\r";
interact

expect "*$ "
spawn ssh yyy@yyy
expect "*password:"
send "yyy\r";
interact

2 个答案:

答案 0 :(得分:3)

查看linux命令“expect”。

答案 1 :(得分:0)

我经常看到“expect”放弃,虽然我已经知道在python中基本上重写了expect来包装我没有源代码的东西。

我建议: 步骤1和2:使用无密码,无密码的DSA密钥。 第3步:可以修改/ etc / sudoers以使sudo不需要密码。 第4步:看起来你已经在那里了。