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