在 JSch (ssh) 中使用 root 命令

Using root Commands with JSch (ssh)

我可以 运行 像 rm 这样的常规命令 /home/user/Desktop/file 但是当我不能 运行 根命令时。

我的意图是配置 squid 服务 运行ning 命令,例如: apt-get 安装鱿鱼 服务鱿鱼开始 服务

但是这些命令需要超级用户身份验证。

有人知道怎么解决吗?谢谢

public void executarComandoSsh(Session session, String comando) {
    try {
        ChannelExec channel = (ChannelExec) session.openChannel("exec");
        ((ChannelExec) channel).setPty(true);
        ((ChannelExec) channel).setPtyType("vt100");
        ((ChannelExec) channel).setXForwarding(true);
        System.out.println("Comando " + comando);
        channel.setCommand(comando);
        channel.setInputStream(null);
        channel.setErrStream(System.err);
        BufferedReader in = new BufferedReader(new InputStreamReader(channel.getInputStream()));

        channel.connect();
        String line = "";

        while (true) {
            while ((line = in.readLine()) != null) {
                System.out.println("-- " + line);
            }
            break;
        }
        channel.disconnect();
        session.disconnect();

    } catch (JSchException | IOException ex) {
        Logger.getLogger(ServidorNegocioImpl.class.getName()).log(Level.SEVERE, null, ex);
    }
}

解决了..

我编辑了 /etc/sshd/sshd_config 并设置了启用 root 登录:是的...