0
我为Objective-C called NMSSH使用了美妙的libssh包装。我能够建立连接,发送命令等,但我遇到了一些麻烦。每当我送提升的命令,如“sudo..something”,我得到我的响应对象以下错误:为NMSSH库提供“sudo”命令的密码
Error: Error Domain=NMSSH Code=0 "sudo: no tty present and no askpass program specified
" UserInfo=0x145a65e0 {command=sudo apachectl start, NSLocalizedDescription=sudo: no tty present and no askpass program specified
, NSLocalizedFailureReason=54}
我怎么能告诉程序什么的密码是什么?
我upvoted这个答案,因为它可以工作,但是,取决于你的分布,它不。例如,使用NMSSH在CentOS机器上执行以下操作将返回相同的错误“echo | sudo -S ls /etc/init.d/”,但它可以在Ubuntu上使用。有关更多详情,请参阅此文章http://unix.stackexchange.com/questions/122616/why-do-i-need-a-tty-to-run-sudo-if-i-can-sudo-without-a-密码 –
AndrewSmiley