使用脚本进行ssh登录服务器(Linux新手之路)

来源:互联网 发布:apt模型 知乎 编辑:程序博客网 时间:2024/06/03 19:58

前面的博客完成了一个简单的定时删除日志的脚本,但由于现在又多台服务器,需要在多台服务器上执行删除日志操作的脚本,有很多办法,我想到的方法,一个是,可以将脚本部署到这些服务器上,然后在每台服务器上使用crontab来定时运行,但是如果服务器太多的话,就比较繁琐;还有一个办法就是通过脚本去登录服务器,运行脚本,去完成操作,那怎样才能用脚本登录服务器呢?

这里主要要用到一个Linux的工具:expect,下面写一个简单的实例来测试,命名为temp.sh

#!/usr/bin/expect set timeout 10spawn ssh -p 6022 auth@172.16.84.166expect {"*password:" {send "auth\r"}}interact
然后用sh temp.sh,出现错误:spawn:command not found

通过查询资料,原来expect用的不是bash,所以不能用sh,通过./来执行:./temp.sh

出现错误:没有权限操作,那就改一下文件的权限:chmod 744 temp.sh

然后再:./temp.sh

然后成功登陆,这里先完成了一小步。

突然想起一个小问题,如果没有安装expect工具的,可以这样安装:

yum install expect
也有可能遇到问题,我遇到了如下问题:


没有找到公钥,不能安装

可以这样安装:

yum --nogpgcheck install expect
这样就可以跳过公钥,直接安装,结果图:


这样就安装成功了。(PS:需要清楚yum命令的,可以自己查一下)

通过以上的方式就可以实现通过脚本进行SSH登录服务器了。

0 0
原创粉丝点击