Conectar SSH2 + FTP

1 resposta
guilhermevh

Pessoal é o seguinte, estou tentando conectar em um servidor SFTP onde ele tem o SSH como conexão.
Fiz um sistema na qual consigo conectar normalmente em um SFTP usando a porta 22 ou em um FTP usando a porta 21 normalmente, mas não sei o que fazer para conectar em um FTP que usa SSH na conexão. O erro que tenho é o seguinte:

Usando outros programas consigo conectar no FTP normalmente. Mas preciso fazer um sistema personalizado aqui para a empresa.

Estou usando a API commons-net da Apache para isso.

Tenho o seguinte erro ao tenta estabelecer a conexão:

org.apache.commons.net.MalformedServerReplyException: Could not parse response code. Server Reply: SSH-2.0-OpenSSH_4.3 at org.apache.commons.net.ftp.FTP.__getReply(FTP.java:315) at org.apache.commons.net.ftp.FTP._connectAction_(FTP.java:364) at org.apache.commons.net.ftp.FTPClient._connectAction_(FTPClient.java:540) at org.apache.commons.net.SocketClient.connect(SocketClient.java:178)

um trecho do código onde tento estabelecer a conexão:

try {
			
			
			// tenta conectar no servidor ftp enviado
			logger.info("Estabelecendo conexão com o ftp server: " + hostFtp+" .Porta: " + iftpPort);
			
			ftp.connect(hostFtp,iftpPort);
		
			// verifica se conectou com sucesso!
			if (FTPReply.isPositiveCompletion(ftp.getReplyCode())) {
				
				logger.info("Conexão estabelecida com sucesso no ftp server: " + hostFtp+" .Porta: " + iftpPort);

				try {
					statusLogin = ftp.login(login, senha); // login, senha
					
					ftp.changeWorkingDirectory(ftpDirectory);//muda para o diretorio desejado
					
				} catch (IOException ioex) {
					logger.error(
							"Erro ao tentar se autenticar no ftp server: " +hostFtp+" .Porta: " + iftpPort,
							ioex);
				}

				if (statusLogin) {
					logger
							.info("Autenticação realizada com sucesso no ftp server: "
									+ hostFtp+" .Porta: " + iftpPort);
				} else {
					logger
							.info("Autenticação negada no ftp server: "
									+ hostFtp+" .Porta: " + iftpPort);
				}
			} else {
				logger.info("Conexão RECUSADA com o ftp server: " + hostFtp+" .Porta: " + iftpPort);
			}

		} catch (SocketException skex) {

			logger.error("Erro ao tentar estabelecer conexão com ftp server: " +hostFtp+" .Porta: " + iftpPort,
					skex);

Se alguém puder me ajudar...
Grato,

1 Resposta

JAC_MG

Estou com o mesmo problema aqui, meu código está muito parecido som seu!

Quando tento me conectar, dando um ftp.connect(host, porta)
aparece o seguinte erro:

An error occuredorg.apache.commons.net.MalformedServerReplyException: Could not parse response code.
Server Reply: SSH-2.0-OpenSSH_5.3p1 Debian-3ubuntu4

Você obteve alguma resposta, poderia postar a solução?

Alguém tem alguma idéia?

Obrigado!

Criado 1 de dezembro de 2008
Ultima resposta 25 de ago. de 2010
Respostas 1
Participantes 2