【问题标题】:Bash script to pull pending Linux security updates from remote servers用于从远程服务器拉取待处理的 Linux 安全更新的 Bash 脚本
【发布时间】:2018-01-29 15:13:05
【问题描述】:

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

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

echo $UPDATES

错误信息:

sshpass: 运行命令失败: 没有这样的文件或目录

【问题讨论】:

  • “没有这样的文件或目录”应该给你提示它找不到 sshpass。使用完整路径或确保使用完整的 PATH 环境变量运行此脚本。
  • 这整个命令是错误的。看我的回答。

标签: linux bash nagios


【解决方案1】:

问题中的命令有多种错误。

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

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

sshpass 需要一个命令作为参数,在这种情况下是ssh

StrictHostKeyChecking=no 应遵循-o 的选项ssh

user@server 和您要远程运行的命令之间需要一个空格,而不是:,即/usr/lib/....

【讨论】:

  • 完成 :) 不知道,再次感谢。顺便说一句,命令完成后ssh会话会自行结束吗?
猜你喜欢
  • 1970-01-01
  • 2015-04-03
  • 1970-01-01
  • 2014-06-09
  • 2011-05-05
  • 1970-01-01
  • 2016-05-14
  • 1970-01-01
  • 2011-12-21
相关资源
最近更新 更多