1

My company has disabled SSH, but allows SFTP.

For example, "sftp" commands will work but "ssh" will not.

They may have configured something like this in "/etc/ssh/sshd_config":

    Match Group sftp-only
    ForceCommand internal-sftp
    ChrootDirectory /pub/sftp
    PermitTunnel no
    AllowAgentForwarding no
    AllowTcpForwarding no
    X11Forwarding no

Is there a SFTP client for Java that will work without having to open a SSH connection ?

I am using sshj and the typical pattern does not work:

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

The above code throws an exception at "sshClient.connect()":

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)
mvanle
  • 1,847
  • 23
  • 19

0 Answers0