带有密码的ssh登录的Perl脚本,并在远程服务器上运行命令

时间:2013-12-30 11:00:28

标签: perl ssh

我想检查服务器的磁盘使用情况,如果使用率超过90%,则发送邮件。

我必须在perl脚本中执行此操作。我想使用ssh登录每个服务器(使用密码,因为我无法为ssh会话设置公钥和私钥)并运行以下命令,这将返回root分区中的磁盘使用情况: - df -h | awk'{print $ 5}'| sed's / capacity // g'| sed's /%// g'| awk'/./'| awk -F。 '{print $ 1}'|头-1 但我似乎无法通过ssh登录到服务器而无需安装任何perl模块,如Net :: OpenSSH或使用/ usr / bin / expect。

有没有简单明了的方法通过ssh登录并自动化密码提示而不使用任何外部perl模块? 登录后,我想在所有服务器上运行该命令,并将输出存储到变量中进行比较。请建议

许多问候:)

1 个答案:

答案 0 :(得分:-1)

通过apt-get安装sshpass

从perl脚本中激活以下命令

qx(sshpass -p'root'ssh用户名\ @hostname'命令在机器上执行');

注意:在上面的命令中替换用户名和主机名。