在远程使用某用户执行 sudo 命令的时候,经常会遇到没有 的问题,比如:

碰到此问题的原因是 sudo 配置文件中,禁止了远程 sudo 的执行,因为有泄漏密码的风险,官方解释如下:

Disable “ssh sudo “, because it will show the password in clear.

但是对于已经做了互信的两台主机来说,是没有泄漏密码风险的。所以,如何才能在远程主机上执行 sudo 呢?

解决方式有两种,一种是根据官方提示,加上 -t 参数执行,比如:

另一种方式,也就是网上比较多的一种解决方案,就是将 /etc/sudoers 配置中 requiretty 配置给屏蔽掉(建议使用 visudo 来更改):

屏蔽完后,就可以直接执行了: