静默 ssh-add

静默 ssh-add

我有一个运行一些任务的 cronjob,在它运行的脚本的开头是一个 ssh-add 调用(它不是以具有适当密钥的用户身份运行的,因此需要添加,将来它可能会使用版本控制中定义的部署密钥)。这看起来像这样:

ssh-agent bash -c "ssh-add /home/tomjn/.ssh/id_rsa; etc... "

我想让它静音,因为这个 cronjob 定期运行,而且我的收件箱里有很多邮件,它们对我来说完全没用,只是说是的,密钥已添加。我只希望在出现问题时收到电子邮件,例如 git pull 远程连接挂断等,这种情况确实会发生。

所以 TLDR,我一直看到这个:

添加的身份:/home/tomjn/.ssh/id_rsa (/home/tomjn/.ssh/id_rsa)

我该如何让它闭嘴?

我尝试过类似的事情:

ssh-add /home/tomjn/.ssh/id_rsa > /dev/null

但无济于事。手册页没有表明有一个--quiet参数,我还能做些什么来使输出静音吗?

答案1

该命令的输出ssh-add在 STDERR 上。您需要将 STDERR 重定向到 /dev/null 以抑制输出:

mtak@frisbee:~$ ssh-add .ssh/id_rsa 2>/dev/null
mtak@frisbee:~$ 

或者通过在命令末尾添加以下内容来抑制所有输出>/dev/null 2>&1

相关内容