Bash 用于从远程服务器提取挂起 Linux 安全更新的脚本

Bash script to pull pending Linux security updates from remote servers

我正在尝试从远程服务器中提取挂起的 linux 更新并将它们插入 Nagios。这是代码的精简版本 - 给我一个错误的代码:

UPDATES=$(sshpass -p "password" StrictHostKeyChecking=no user@server:/usr/lib/update-notifier/apt-check 2>&1)

echo $UPDATES

错误信息:

sshpass: Failed to run command: No such file or directory

问题中的命令在多个方面都是错误的。

sshpass -p"password" \
ssh -o StrictHostKeyChecking=no user@server "/usr/lib/update-notifier/apt-check" 2>&1

对于-p选项,选项和值之间不应有任何space。

sshpass 需要一个命令作为参数,在本例中是 ssh

StrictHostKeyChecking=no 应该在 ssh 的选项 -o 之后。

A space,而不是 :user@server 和你要远程执行的命令 运行 之间,即 /usr/lib/....