shell实现自动登录的脚本
复制代码代码如下:
#!/bin/bash
expect -c " set timeout 3600; spawn su -; expect *assword:*; send 123456\r; interact;";
注解:
使用expect完成密码应答的例子:
复制代码代码如下:
#!/bin/bash
auto_login_ssh () { expect -c "set timeout -1; spawn -noecho ssh -o StrictHostKeyChecking=no $2 ${@:3}; expect *assword:*; send -- $1\r; interact;"; } auto_login_ssh passwd user@host StrictHostKeyChecking=no参数让ssh默认添加新主机的公钥指纹,也就不会出现出现是否继续yes/no的提示了。 expect很不错,上述代码基本可以达到要求了,能够当翻墙用的ssh -D自动登陆,执行远程命令等等,但是如果作为一个完全非交互的远程工具,应该说还差点意思,不能返回整个连接执行过程是否成功。 (责任编辑:IT) |