我正在编写一个 Nagios 插件,它将检查给定 IP 上的磁盘空间(这将是插件中的 $HOSTADDRESS$)。该脚本运行良好,但每次 ssh 时都需要输入密码。我认为这对于插件来说是不可接受的。因此,我想知道是否有一种方法可以将密码放入命令中,以便插件会自动获取它?
#!/bin/bash
used_space=$(ssh $1 "df -h /" | grep -v Filesystem | awk '{print $5}' | sed
's/%//g');
case $used_space in
// here goes OK,WARNING,CRITICAL etc. code
esac
答案1
您可以配置
ssh-keygen
您的插件无需密码即可自动登录远程服务器的位置我们可以通过
sshpass
它在命令行本身中传递密码sshpass -p "password" ssh hostname "df -Ph | sed -n '/\/$/p'| sed "s/%//g""|awk '{print $(NF-1)}'