当前位置: 首页 > 知识库问答 >
问题:

在JSch(ssh)中使用root命令

邴俊民
2023-03-14

我可以运行常规命令,如rm /home/user/Desktop/file但当我不能运行root命令。

我的目的是配置一个squid服务,运行如下命令:apt get install squid service squid start service

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

有人知道怎么修吗?谢啦

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);
    }
}

共有1个答案

龙高超
2023-03-14

已解决...

我编辑了/etc/sshd/sshd_配置并设置了enable root login:yes。。。

 类似资料:
  • 我试图在unix中使用JSCHSSH类(com.jcraft.jsch)执行一些工具。我的工具有一个选择菜单。我需要转到工具所在的文件夹,执行它并选择请求的选项。在每个命令之后,(cd,execute,…)我希望检查输出并检查状态代码(0/1)。我有下面的代码按预期执行它,但在这段代码中,我找不到一种方法来检查每个命令后的输出。 我无法找到一种方法,但我怎么能分开的命令,并打印他们一个接一个(在同

  • 问题内容: 我正在SSH shell会话上运行命令,为了获得该命令,我在官方示例后面使用了JSch 。 我也在 StackOverflow* 上也遵循此示例编写了自己的代码 * 这是 我的代码: 看起来不错,但奇怪的是 它只能在调试模式下工作 。如果我运行它,程序将无法执行。我认为它锁定 了while循环, 但是我不明白为什么。没有while循环,代码将到达终点,但是不执行任何shell命令。 我

  • 我使用Netbeans作为IDE 你能帮我找出问题吗?!

  • 我目前正在尝试编写一个android应用程序,该应用程序通过ssh对远程机器执行简单的“ls”命令。我尝试使用JSch和此页面,但似乎不起作用。我环顾四周,似乎必须实现一些Async任务来运行代码。以下是当前主要活动的整个代码: 在Androidanifest.xml中添加uses-权限android: name="android.permission.INTERNET" 这是我第一次尝试任何严肃

  • Infact挂起。如果我删除多级ssh,一切都很好!我做错什么了吗?? 我从以下方面得到了一些提示:Java中的多级SSH登录和使用JSch的多个命令,但我无法运行代码。

  • 我正在尝试使用Jcraft-Jsch库通过Java应用程序管理路由器。 我正试图通过TFTP服务器发送路由器配置。问题出在我的Java代码中,因为这适用于PuTTY。 这是我的Java代码: 我明白了 行的自动命令“192.168.50.1”无效 问题是如何运行这些连续的命令。