我无法在我的ec2客户端上运行“sudo su”,我通过java程序进入客户端并通过程序运行命令。 我可以运行像“ls”和“ifconfig”这样的命令。
我收到一条错误消息“sudo:抱歉,你必须有一个tty来运行sudo”。
我如何运行命令,我正在使用Jsch for ssh到我的ec2实例。
答案 0 :(得分:6)
答案 1 :(得分:4)
默认情况下,Jsch没有为远程会话分配伪tty - 这可能会破坏一些期望以交互方式运行的程序。看起来您可以使用ChannelExec.setPty函数来请求pty - 但我没有使用过Jsch而且无法自己测试。