ssh执行sudo命令所遇到的错误解决

ssh 执行sudo 命令 遇到错误

ssh [email protected] "sudo CMD"

错误一:sudo: sorry, you must have a tty to run sudo

解决方式一:

ssh 加 -t 参数

即:ssh -t [email protected] "sudo CMD"

解决方式二:

在/etc/sudoers 配置文件中注释Defaults    requiretty这行(这样有缺点,如果ssh带密码会在进程中显示)

错误二:

ssh加了-t 参数后报错

Pseudo-terminal will not be allocated because stdin is not a terminal

把-t参数换成-tt 即可

即:ssh -tt [email protected] "sudo CMD"

-tt 在shell脚本调用ssh时要添加参数来指明这是来自脚本的调用。

时间: 2024-12-19 00:09:41

ssh执行sudo命令所遇到的错误解决的相关文章

不输入密码执行sudo 命令

命令行执行的crontab 命令,但是需要包含sudo 才可以执行的命令,怎么办呢?见下: [email protected]:/etc$ visudovisudo: /etc/sudoers: 权限不够visudo: /etc/sudoers: 权限不够[email protected]:/etc$ sudo visudo ## This file MUST be edited with the 'visudo' command as root.## Please consider addin

非root用户ssh 执行 sudo远程机器免密钥

非root用户ssh 执行 sudo远程机器免密钥 # 1.登陆192.168.1.10 ssh-keygen -t rsa # 一路回车 # 将公钥添加到认证文件中 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys # 并设置authorized_keys的访问权限 chmod 600 ~/.ssh/authorized_keys [[email protected] ~]# cat /root/.ssh/id_rsa.pub          

执行sudo命令时的提示语,如何修改?

如图所示,执行sudo命令,提示语(有中文和英文两个版本): 上面的提示内容是sudo软件原生的内容. 使用下面的方法,有的时候是可行的.sudo -p '提示语' 命令 如果要修改sudo软件原生的提示内容,只有重新编译软件. 屏蔽提示的方法:https://superuser.com/questions/500119/keeping-the-fancy-sudo-warning-forever Create a file inside /etc/sudoers.d/ You can use

执行sudo命令时command not found的解决办法

问题的原因: 在编译sudo包的时候默认开启了- -with-secure-path选项. 方法1: sudo vim /etc/sudoers,并在文件内增加这么一行:Defaults secure_path="/bin:/usr/bin:/usr/local/bin:-", 把要用的命令path包括进去. 在非root下,可以执行很多命令. 在root命令下,却提示 command not found.例如 使用vim 现象: 当我们用sudo来执行cd.ls等命令时,会出现com

在python命令行执行sudo命令

def test(): sudoPassword = 'test' command = '/opt/lampp/lampp stopmysql' str = os.system('echo %s|sudo -S %s' % (sudoPassword, command)) print str 原文地址:https://www.cnblogs.com/xiyuan2016/p/10143963.html

解决Linux下无法使用sudo命令问题

问题描述 使用普通用户登录后在终端中执行sudo命令时提示以下错误: We trust you have received the usual lecture from the local SystemAdministrator. It usually boils down to these three things: #1) Respect the privacy of others.#2) Think before you type.#3) With great power comes gr

ssh无密码登录远程主机执行特定命令的注意事项

最近的一个项目要结合使用rabbitmq.keepalived.supervisor.其中的一个场景为某个keepalived实例被提升为MASTER后需要到部署了rabbitmq client的远程主机上kill掉这些client进程. 一般的思路为配置keepalived所在主机与部署了client的主机之间的无密码ssh登录,然后通过ssh执行远程命令,先获取各client进程的进程号,然后逐个kill掉这些进程. 大体思路很简单,但过程中却碰到了不少问题.配置无密码ssh至远程主机的步骤

ssh执行非交互式命令

如果你想用脚本自动化登录到某台机子上,然后在上边执行个命令,怎么办呢? 可以使用ssh的非交互式命令 ssh [email protected] "/home/hczhang/bin/build.sh" 这里可以用expect模拟键盘输入将密码输入,也可以用无密码登录,具体就是将自己的公钥放在对端的authorized_keys里,登录的时候就不用输密码了,就是建立两台机子之间的信任关系,这里不多讲了. 那么如果你想执行sudo命令怎么办呢?比如: ssh [email protect

linux sudo 命令

简单的说,sudo 是一种权限管理机制,管理员可以授权于一些普通用户去执行一些 root 执行的操作,而不需要知道 root 的密码.严谨些说,sudo 允许一个已授权用户以超级用户或者其它用户的角色运行一个命令.当然,能做什么不能做什么都是通过安全策略来指定的.sudo 支持插件架构的安全策略,并能把输入输出写入日志.第三方可以开发并发布自己的安全策略和输入输出日志插件,并让它们无缝的和 sudo 一起工作.默认的安全策略记录在 /etc/sudoers 文件中.而安全策略可能需要用户通过密码