5

我无法在我的 ec2 客户端上运行“sudo su”,我通过 java 程序 ssh 进入客户端并通过程序运行命令。我可以运行像“ls”和“ifconfig”这样的命令。

我收到一条错误消息,提示“sudo:抱歉,您必须有一个 tty 才能运行 sudo”。

如何运行命令,我正在使用 Jsch 将 ssh 用于我的 ec2 实例。

4

2 回答 2

6

-S您可以通过使用sudo.

有关完整示例,请参阅JSch 网站上的Sudo.java 。

(我是JSch的作者。)

于 2011-12-14T06:44:55.443 回答
4

看起来默认情况下 Jsch 不会为远程会话分配伪 tty - 这可能会破坏一些期望以交互方式运行的程序。看起来您可以使用ChannelExec.setPty函数来请求 pty - 但我没有使用 Jsch 并且无法自己测试它。

于 2011-12-09T06:03:05.130 回答