Uma alternativa é o J2SSH. Embora sua documentação seja péssima, encapsulei uma comunicação completa com SSH e FTP utilizando esta biblioteca e disponibilizei no Github. Seu uso final seria muito simples e da seguinte forma:
SshConnectionHolder sshConnection = SshConnectionFactory.createSshConnection(server, user, password); String remoteDirectory = "/path-remote-dir"; File localFile = new File("/path-local-dir", "fileName"); // Enviando arquivo via SFTP sshConnection.sendFileViaSFTP(localFile, remoteDirectory); // Executando comando remoto via SSH String cmd = "ls"; String response = sshConnection.execCommandAndGetResponse(cmd); // Download via SFTP sshConnection.getFileViaSFTP(remoteDirectory, localFile.getName(), localFile); // Removendo arquivo remoto via SFTP sshConnection.removeFileViaSFTP(localFile.getName(), remoteDirectory); sshConnection.disconnect();Mais detalhes sobre o projeto, ele está completamente disponível no meu Github, para que possa ser constantemente melhorado.
2 comentários:
Estou fazendo algumas implementações no código para deixá-lo dentro de um projeto web. Assim que tiver pronto envio para voce. Parabéns.
Paulo Cezar
pauloc.martins@hotmail.com
Leandro, realmente excepcional seu trabalho. Voce comentando, ninguem imagina o tanto que remou pra descobrir a melhor forma de se realizar estes posts e gets de arquivos. Eu mesmo ralei para chegar à sua conclusão, mas você trouxe à comunidade uma solução show de bola, elegante, sucinta e o mais importante: eficaz. Parabéns.
Postar um comentário