使用ssh进行无密访问,并发送执行命令的时候遇到了如题的错误

执行命令ssh user@host "sudo rm /data/test,txt"

sudo: sorry, you must have a tty to run sudo

查看资料发现

That's probably because your /etc/sudoers file (or any file it includes) has:

Defaults requiretty

也就是说sudo必须在一个TTY(输入输出设备)

解决方案:
在ssh中使用t 或者 tt命令,产生一个伪终端,并且再增加
stty raw -echo命令 最终命令更改如下:
ssh -tt user@host "stty raw -echo; sudo rm /data/test,txt"

sudo: sorry, you must have a tty to run sudo的更多相关文章

  1. [转载]解决sudo: sorry, you must have a tty to run sudo

    前几天遇到一个问题,在一个终端中调用另一个shell,始终是无法执行的,后来捕捉到报错信息为sudo: sorry, you must have a tty to run sudo,后来,在网上了解到 ...

  2. RF采用SSHLibary库执行sudo命令,提示sudo: sorry, you must have a tty to run sudo错误的解决办法

    经了解Execute Command and Start Command两个关键字执行linux命令会新增一个shell,并且可能改变环境配置,如果要确保环境不被改变,则需采用Write和Read方法 ...

  3. 浏览器中调用PHP在执行linux sudo指令时报sudo: sorry, you must have a tty to run sudo

    在php程序中使用了exec函数调用sudo指令,在浏览器中访问后,报sudo: sorry, you must have a tty to run sudo错误. 按照网上搜到的方法,修改/etc/ ...

  4. [转]sudo: sorry, you must have a tty to run sudo问题

    使用不同账户,执行执行脚本时候sudo经常会碰到 sudo: sorry, you must have a tty to run sudo这个情况,其实修改一下sudo的配置就好了vi /etc/su ...

  5. # tail -f /var/log/zabbix/zabbix_agentd.log sudo: sorry, you must have a tty to run sudo

    /etc/sudoers 1)Defaults requiretty,修改为 #Defaults requiretty,表示不需要控制终端. 2)Defaults requiretty,修改为 Def ...

  6. sudo 问题:sorry, you must have a tty to run sudo

    写定时任务时候遇到 如下问题 To start backup... -- :: sudo: sorry, you must have a tty to run sudo The backup to c ...

  7. You must have a TTY to run sudo

    1.方法一,给命令行添加tty ssh -t user@foo.com 2.使用sudo visudo修改配置: Defaults:user !requiretty 表示用户user使用sudo命令时 ...

  8. sudo: Sorry, you must have a tty to run

    The requiretty option in sudoers file The requiretty if set in sudo config file sudoers, sudo will o ...

  9. Linux-/etc/rc.local 或 service 中使用 sudo -u xxx cmd 执行失败(sorry, you must have a tty to run sudo)解决办法

    使用 visudo 命令编辑 /etc/sudoers 1)Defaults requiretty,修改为 #Defaults requiretty,表示不需要控制终端. 2)Defaults req ...

随机推荐

  1. summary_22rd Nov 2018

    一. 列表:记录同种属性的多个值 定义:在[]中用逗号分隔开多个任意的值 类型转换:L=list( )  括号中的内容必须是可迭代类型,包括字符串,列表,字典等 常用操作和内置方法: 1.按照索引位置 ...

  2. Google Protocol Buffers 反序列化 转

    http://www.cnblogs.com/royenhome/archive/2010/10/30/1865256.html   本文作为结束篇,会稍微介绍下怎么反序列化GoogleBuffer数 ...

  3. firstchild.data与childNodes[0].nodeValue意思

    x.firstchild.data:获取元素第一个子节点的数据: x.childNodes[0]::获取元素第一个子节点; x.childNodes[0].nodeValue.:也是获取元素第一个子节 ...

  4. find 命令实战巧用

    一.命令简介 find 命令的 -size 参数 单位b(不是byte而是block).c.w.k.M.G.默认是单位b ,也就是1block = 512byte = 0.5kb (文件系统ext4) ...

  5. 3.2 Bochs

    Bochs 工具 bochs: bochs ubuntu安装配置Bochs 安装bochs sudo apt-get install bochs bochs-x 创建工程目录 创建工程目录并进入 新建 ...

  6. Java小程序分析

    public class Helloworld { public static void main(String[] args) { System.out.println("hello wo ...

  7. sass 继承 占位符 %placeholder

    @extend //SCSS .btn { border: 1px solid #ccc; padding: 6px 10px; font-size: 14px; } .btn-primary { b ...

  8. Java线程的三种方式

    创建线程有三种方式: 1.继承Thread类 2.实现Runnable接口 3.使用Callable和Future创建线程 三种方式详解如下: ---------------------------- ...

  9. Xilinx FPGA复位逻辑处理小结(转)

    Xilinx FPGA复位逻辑处理小结 1. 为什么要复位呢? (1)FPGA上电的时候对设计进行初始化: (2)使用一个外部管脚来实现全局复位,复位作为一个同步信号将所有存储单元设置为一个已知的状态 ...

  10. android lombok 使用

    把get /set / toString/hash/equal等方法从源文件中简化掉直接编译到二进制文件中 地址https://github.com/rzwitserloot/lombok 一 安装l ...