当前位置: 首页 > 知识库问答 >
问题:

与sshpass一起使用时出现错误“sudo:no tty present and no askpass program specified”

傅泉
2023-03-14

我想编写一个脚本,在该脚本中,我需要在不输入密码的情况下从不同的机器获取文件的内容192.168.0.2,因此我使用了sshpass和以下命令:

sshpass -p "password" ssh -o StrictHostKeyChecking=no user@192.168.0.2 " ls /root/path/of/file"

输出:

ls: cannot access '/root/path/of/file': Permission denied

我得到它是因为我没有以root用户的身份登录。所以我试着:

sshpass -p "password" ssh -o StrictHostKeyChecking=no user@192.168.0.2 "sudo ls /root/path/of/file"

输出:

sudo: no tty present and no askpass program specified

我该怎么办?

共有2个答案

田权
2023-03-14

尝试<code>ssh-t</code>,它将为您分配一个tty。

孙凌龙
2023-03-14

正如StackExchange上的这个答案所详述的,远程主机上的< code>/etc/sudoers文件很可能不允许您在没有tty的情况下运行sudo命令。它还提供了许多详细的建议,如果您无法解决这个问题,可以通过这些建议来解决。

 类似资料:
  • 在嵌入式TomEE容器中运行Arquillian测试时,我得到了以下错误

  • 我有一个通过http承载图像的地理服务器。我的客户端站点使用https。我一直在使用openlayers,一切都很好。现在我正试图转移到cesiumjs,我在IE或Edge中没有得到任何图像(不幸的是,我无法测试其他浏览器)。如果使用bing地图,我可以在我的客户机中获取图像,因此客户机代码在其他情况下是可用的。在浏览器控制台中,我看到: SEC7117:网络请求超文本传输协议://[myserv

  • 问题内容: 我正在尝试将React-redux与Typescript一起使用,当我尝试使用connect()和mapStateToProps注入道具时遇到类型错误。 我的组件如下所示: 商店看起来像这样 最后,我将类型定义为: 当我尝试编译代码时,出现以下错误: 有趣的是,即使代码抛出类型错误,它仍然可以正常工作。同样,将组件的prop接口更改为any也可以解决该问题。似乎类型系统无法理解这两个映

  • 我的适配器 我的持有者 类myHolder(itemView:View):recyclerview.viewholder(itemView){} 第二个 提前致谢

  • 我最近开始使用JMockit,对TDD和mocking非常陌生。我喜欢使用代码覆盖率来确保我已经测试了给定类/方法的所有行。 我在尝试JMockit(Delegate()功能)和代码覆盖率时遇到了以下错误。我包括通过和不通过的考试。 我不确定我是否做错了什么? 我想知道是否有其他人遇到过此问题,是否有任何解决方案或修复可用? 我甚至不确定这是JMockit问题还是EclEmma问题。谢谢 我的设置