Sshj 如何在Java中使用SFTP(禁用SSH时)

Sshj 如何在Java中使用SFTP(禁用SSH时),sshj,Sshj,我的公司已禁用SSH,但允许SFTP 例如,“sftp”命令可以工作,但“ssh”不能 他们可能在“/etc/ssh/sshd_config”中配置了类似的内容: 是否有一个无需打开SSH连接即可工作的Java SFTP客户端 我正在使用sshj,典型模式不起作用: import net.schmizz.sshj.*; ... void connect() { SSHClient sshClient; SFTPClient sftpClient; sshClien

我的公司已禁用SSH,但允许SFTP

例如,“sftp”命令可以工作,但“ssh”不能

他们可能在“/etc/ssh/sshd_config”中配置了类似的内容:

是否有一个无需打开SSH连接即可工作的Java SFTP客户端

我正在使用sshj,典型模式不起作用:

import net.schmizz.sshj.*;

...

void connect() {
    SSHClient sshClient; 
    SFTPClient sftpClient;

    sshClient = new SSHClient();
    sshClient.connect(hostname, port);  // Port = 2233
    sshClient.authPublickey(username, privatekey);
    sftpClient = sshClient.newSFTPClient();
}
上述代码在“sshClient.connect()”处引发异常:

import net.schmizz.sshj.*;

...

void connect() {
    SSHClient sshClient; 
    SFTPClient sftpClient;

    sshClient = new SSHClient();
    sshClient.connect(hostname, port);  // Port = 2233
    sshClient.authPublickey(username, privatekey);
    sftpClient = sshClient.newSFTPClient();
}
Exception in thread "main" java.net.ConnectException: Connection refused (Connection refused)
        at java.net.PlainSocketImpl.socketConnect(Native Method)
        at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
        at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
        at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
        at java.net.Socket.connect(Socket.java:589)
        at net.schmizz.sshj.SocketClient.connect(SocketClient.java:126)