【发布时间】:2015-09-17 14:00:05
【问题描述】:
我在从 php 连接时通过 SSH 执行 Sudo 命令时遇到问题,但不是从常规终端连接
如果我通过 SSH 连接到带有 Net_SSH2 的 AWS 机器
$ssh = new Net_SSH2($instanceIp);
if ( ! $ssh->login('ec2-user', $key)) {
$logger->error('Login Failed');
}
我会收到这个错误:sudo: 抱歉,你必须有一个 tty 才能运行 sudo
如果我直接从终端连接 ssh -i ~/Path/to-file-key.pem ec2-user@111.111.11.111 所以我可以毫无问题地运行任何 sudo 命令。
我不想从 /etc/sudoers 中删除(我不想在服务器上做一些事情,我希望它通过连接来完成)
Defaults requiretty
有没有办法做到这一点?
感谢您的帮助
【问题讨论】:
-
您的标题询问如何禁用 PTY 分配,但您似乎在询问如何启用它。您能否编辑您的问题以澄清您在这里寻找什么样的答案?
-
我已经更新了这个问题,希望它会更清楚,你将能够提供帮助:) 谢谢