当 ssh 以 sudo 运行时没有执行远程命令

No remote commands executed when ssh runs as sudo

以下命令给出了预期的结果(文件已创建):

sshpass -p pas ssh root@host 'touch foo'

但是下面的在远程主机上什么都不做:

sudo sshpass -p pas ssh root@host 'touch foo'

这里唯一的区别只是 sudo 模式。

这是什么原因?以及如何解决这个问题?

运行宁 ssh -v 时问题更加明显。

sudo 检测到服务器主机密钥后通信中断。

要解决问题 ssh 需要 运行 使用以下参数 -o "StrictHostKeyChecking no".