Conectarse a un Servidor FTP con protocolo SSH

1,001 views
Skip to first unread message

ErickOrlando

unread,
Jun 24, 2011, 11:17:39 AM6/24/11
to AltNet-Hispano
Hola a todos:

Mi consulta es la siguiente, he tratado de buscar algún código en C#
que me permita conectarme a un servidor FTP de mi empresa que utiliza
el protocolo SSH, googleando me di con la sorpresa de que no existe un
código nativo del .NET Framework 3.5 SP1 para hacer esto, y que se
puede conseguir únicamente con componentes de terceros que son de
pago, sin embargo en Java si existe dicho código pero Open Source.
También encontré un proyecto en la página de Code Project llamado
sharpSsh, pero los ejemplos que brindan son la verdad bastante pobres
y no se puede entender.
También encontré que SFTP no es lo mismo que FTP sobre SSL, así que
colocando la propiedad EnableSsl=True del objeto FtpWebRequest no
sirve.
Puede ayudarme alguien con esto? Por mas que intento no logro
conectarme a mi servidor para subir archivos (que es lo único que
necesito).
Gracias de antemano.

Saludos desde Callao, Perú.

Mauricio Scheffer

unread,
Jun 24, 2011, 11:44:40 AM6/24/11
to altnet-...@googlegroups.com
Hola Erick,
Yo he usado FTP sobre SSH con la librería Starksoft ( http://www.starksoft.com/prod_ftp.html ), que soporta conexiones sobre SOCKS. En mi caso el proxy SOCKS era permanente, o sea, en mi programa asumía directamente que ya había una conexión SSH establecida y un proxy SOCKS correspondiente, no tenía que iniciarlo programáticamente. 
Así que Starksoft ya te soluciona la parte de FTP, y te queda solucionar el tema de SSH/SOCKS. Dependiendo de lo que necesites, podrías hacer la conexión SSH con proxy SOCKS ejecutando un plink ( http://linux.die.net/man/1/plink ) con los parámetros adecuados.

--
Mauricio


2011/6/24 ErickOrlando <orland...@gmail.com>

--
Has recibido este mensaje porque estás suscrito al grupo "AltNet-Hispano" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a altnet-...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a altnet-hispan...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/altnet-hispano?hl=es.


ErickOrlando

unread,
Jun 24, 2011, 1:21:07 PM6/24/11
to AltNet-Hispano
Hola Mauricio:

Muchas gracias por responder, pero estoy intentando conectarme al
servidor y no me permite, me sale el siguiente mensaje.

An error occurred while setting up a explicit ssl/tls command stream.
A timeout occurred while waiting for the destination to send a
response. The last reponse from the destination is ''

Esto se debe a que no le estoy colocando un certificado digital? si es
así pues yo no lo tengo, o hay algo más que me estoy olvidando?
Gracias, espero puedas ayudarme.
Saludos.


On 24 jun, 10:44, Mauricio Scheffer <mauricioschef...@gmail.com>
wrote:
> Hola Erick,
> Yo he usado FTP sobre SSH con la librería Starksoft (http://www.starksoft.com/prod_ftp.html), que soporta conexiones sobre
> SOCKS. En mi caso el proxy SOCKS era permanente, o sea, en mi programa
> asumía directamente que ya había una conexión SSH establecida y un proxy
> SOCKS correspondiente, no tenía que iniciarlo programáticamente.
> Así que Starksoft ya te soluciona la parte de FTP, y te queda solucionar el
> tema de SSH/SOCKS. Dependiendo de lo que necesites, podrías hacer la
> conexión SSH con proxy SOCKS ejecutando un plink (http://linux.die.net/man/1/plink) con los parámetros adecuados.
>
> --
> Mauricio
>
> 2011/6/24 ErickOrlando <orlando.er...@gmail.com>

Mauricio Scheffer

unread,
Jun 24, 2011, 1:42:01 PM6/24/11
to altnet-...@googlegroups.com
Erick, necesitas FTP sobre SSH ( http://en.wikipedia.org/wiki/FTP_over_SSH#FTP_over_SSH_.28not_SFTP.29 ). FTP + SSL (= FTPS) ( http://en.wikipedia.org/wiki/FTPS ), o SFTP ( http://en.wikipedia.org/wiki/SSH_File_Transfer_Protocol )?

Lo que yo te comentaba es para hacer FTP sobre SSH. En este caso, la seguridad/encriptación/etc la provee SSH. En tu cliente FTP sólo tenés que apuntar al proxy SOCKS, no hace falta definir nada de SSL/TLS. 

--
Mauricio



2011/6/24 ErickOrlando <orland...@gmail.com>
Hola Mauricio:

ErickOrlando

unread,
Jun 24, 2011, 1:50:21 PM6/24/11
to AltNet-Hispano
Mauricio:

Pues creo que me equivoqué en los conceptos, el servidor FTP de mi
empresa es un SFTP.
Hiciendo varios intentos a las finales me salió este mensaje:

An error occurred while setting up a explicit ssl/tls command
stream.
A timeout occurred while waiting for the destination to send a
response.
The last reponse from the destination is ''None SSH-2.0-OpenSSH_5.3
2.0-OpenSSH_5.3

Esta herramienta que me has proporcionado, sirve para eso? Porque si
trato de conectarme con FileZilla si puedo, el problema es desde .NET.
Gracias.

Saludos.

On 24 jun, 12:42, Mauricio Scheffer <mauricioschef...@gmail.com>
wrote:
> Erick, necesitas FTP sobre SSH (http://en.wikipedia.org/wiki/FTP_over_SSH#FTP_over_SSH_.28not_SFTP.29). FTP
> + SSL (= FTPS) (http://en.wikipedia.org/wiki/FTPS), o SFTP (http://en.wikipedia.org/wiki/SSH_File_Transfer_Protocol)?
>
> Lo que yo te comentaba es para hacer FTP sobre SSH. En este caso, la
> seguridad/encriptación/etc la provee SSH. En tu cliente FTP sólo tenés que
> apuntar al proxy SOCKS, no hace falta definir nada de SSL/TLS.
>
> --
> Mauricio
>
> 2011/6/24 ErickOrlando <orlando.er...@gmail.com>

Mauricio Scheffer

unread,
Jun 24, 2011, 2:04:45 PM6/24/11
to altnet-...@googlegroups.com
Starksoft no implementa SFTP. Lamentablemente SharpSSH está abandonado, así que te quedan las librerías comerciales, o intentar usar IKVM con alguna librería Java, o manejar WinSCP via command-line o p/invoke.

--
Mauricio


2011/6/24 ErickOrlando <orland...@gmail.com>
Mauricio:

Ariel Piñeiro

unread,
Jun 24, 2011, 2:26:53 PM6/24/11
to altnet-...@googlegroups.com
Erick,
           es tal cual como indica Mauricio, el protocolo SFTP utiliza comandos SSH para pegarle a un servidor SFTP con datos que no son texto plano como lo es con FTP en que los mensajes de los comandos de FTP viajan como texto plano, y tampoco es lo mismo que utilizar FTP en un tunel (un proxy por ej.) para el enlace de comunicación. Son protocolos completamente diferentes.

Saludos,
Ariel Piñeiro
http://ar.linkedin.com/in/arielpineiro



2011/6/24 Mauricio Scheffer <mauricio...@gmail.com>

ErickOrlando

unread,
Jun 24, 2011, 3:31:37 PM6/24/11
to AltNet-Hispano
Bueno que lamentable noticia.
Muchas gracias por responder.
Gracias

On 24 jun, 13:26, Ariel Piñeiro <ariel...@gmail.com> wrote:
> Erick,
>            es tal cual como indica Mauricio, el protocolo SFTP utiliza
> comandos SSH para pegarle a un servidor SFTP con datos que no son texto
> plano como lo es con FTP en que los mensajes de los comandos de FTP viajan
> como texto plano, y tampoco es lo mismo que utilizar FTP en un tunel (un
> proxy por ej.) para el enlace de comunicación. Son protocolos completamente
> diferentes.
>
> Saludos,
> Ariel Piñeirohttp://ar.linkedin.com/in/arielpineiro
>
> 2011/6/24 Mauricio Scheffer <mauricioschef...@gmail.com>
>
>
>
>
>
>
>
> > Starksoft no implementa SFTP. Lamentablemente SharpSSH está abandonado, así
> > que te quedan las librerías comerciales, o intentar usar IKVM con alguna
> > librería Java, o manejar WinSCP via command-line o p/invoke.
>
> > --
> > Mauricio
>
> > 2011/6/24 ErickOrlando <orlando.er...@gmail.com>

Jorge González

unread,
Jun 24, 2011, 4:18:23 PM6/24/11
to altnet-...@googlegroups.com
Buenas,

Pueden usar esta Libreria, a mi me ha funcionado muy bien en SFTP, hay
que hacerle algunos ajustes a lo que respecta la manipulacion de
errores, pero asi como está funciona.

http://www.tamirgal.com/blog/page/SharpSSH.aspx

Espero que les ayude.

Jorge Eldis

2011/6/24 ErickOrlando <orland...@gmail.com>:

ErickOrlando

unread,
Jun 24, 2011, 5:09:02 PM6/24/11
to AltNet-Hispano
Hola Jorge:

Ese mismo proyecto que indicas SharpSSH también intenté usarlo pero no
entiendo a que ajustes te refieres, tienes un ejemplo de código que me
puedas compartir?
Gracias.

Saludos.

On 24 jun, 15:18, Jorge González <jel...@gmail.com> wrote:
> Buenas,
>
> Pueden usar esta Libreria, a mi me ha funcionado muy bien en SFTP, hay
> que hacerle algunos ajustes a lo que respecta la manipulacion de
> errores, pero asi como está funciona.
>
> http://www.tamirgal.com/blog/page/SharpSSH.aspx
>
> Espero que les ayude.
>
> Jorge Eldis
>
> 2011/6/24 ErickOrlando <orlando.er...@gmail.com>:
> > Has recibido este mensaje porque estás suscrito al grupo "AltNet-Hispano" de Grupos de Google.> Para publicar una entrada en este grupo, envía un correo electrónico aaltnet...@googlegroups.com.> Para anular tu suscripción a este grupo, envía un correo electrónico aaltnet-hispa...@googlegroups.com

Jorge González

unread,
Jun 24, 2011, 5:13:39 PM6/24/11
to altnet-...@googlegroups.com
Eric, cuando yo lo usé funcionaba bien, solo que cuando generaba una
excepción no mostraba un mensaje lógico que te permitiera rastrear el
error, por lo demá todo me funcionó bien, ejemplo hecho no tengo pero
puedo hacer uno y te lo envío.

Saludos Jorge Eldis

2011/6/24 ErickOrlando <orland...@gmail.com>:

ErickOrlando

unread,
Jun 24, 2011, 5:17:15 PM6/24/11
to AltNet-Hispano
Excelente Jorge estaré esperando para que me lo envíes.

Es cierto sus errores son poco descriptivos.

Muchas gracias.
Saludos.

On 24 jun, 16:13, Jorge González <jel...@gmail.com> wrote:
> Eric, cuando yo lo usé funcionaba bien, solo que cuando generaba una
> excepción no mostraba un mensaje lógico que te permitiera rastrear el
> error, por lo demá todo me funcionó bien, ejemplo hecho no tengo pero
> puedo hacer uno y te lo envío.
>
> Saludos Jorge Eldis
>
> 2011/6/24 ErickOrlando <orlando.er...@gmail.com>:
> >> > -->> > Has recibido este mensaje porque estás suscrito al grupo "AltNet-Hispano" de Grupos de Google.> Para publicar una entrada en este grupo, envía un correo electrónicoaaltn...@googlegroups.com.> Para anular tu suscripción a este grupo, envía un correo electrónicoaaltnet-his...@googlegroups.com

Jorge González

unread,
Jun 24, 2011, 5:52:33 PM6/24/11
to altnet-...@googlegroups.com
Eric, puedes descargar el archivo del siguiente enlace, http://lts.cr/hjf

Esta comprimido en 7zip, por otro lado, verifica bien los siguientes puntos:

1- El puerto en que tienen configurado el Server
2- El Path que tiene configurado para el usuario que se esta
autenticando, si no lo sabes, entra con el FileZilla y copialo en el
ejemplo.
3- Verifica el usuario y la clave.

Este simple ejemplo, lo acabo de hacer y funciona bien, lo que hace es
simplemente, se conecta, lista los archivos y se desconecta.

Saludos, espero que te ayude.

2011/6/24 ErickOrlando <orland...@gmail.com>:

ErickOrlando

unread,
Jun 24, 2011, 6:20:14 PM6/24/11
to AltNet-Hispano
Jorge:

Muchisimas gracias, ahora si puedo conectarme.
Parece que el ensamblado que está en tu ejemplo está más actualizado
porque por lo menos me indica que mi usuario ha tenido demasiados
intentos fallidos para la autenticación.

De todos maneras gracias.
Saludos.

On 24 jun, 16:52, Jorge González <jel...@gmail.com> wrote:
> Eric, puedes descargar el archivo del siguiente enlace,http://lts.cr/hjf
>
> Esta comprimido en 7zip, por otro lado, verifica bien los siguientes puntos:
>
> 1- El puerto en que tienen configurado el Server
> 2- El Path que tiene configurado para el usuario que se esta
> autenticando, si no lo sabes, entra con el FileZilla y copialo en el
> ejemplo.
> 3- Verifica el usuario y la clave.
>
> Este simple ejemplo, lo acabo de hacer y funciona bien, lo que hace es
> simplemente, se conecta, lista los archivos y se desconecta.
>
> Saludos, espero que te ayude.
>
> 2011/6/24 ErickOrlando <orlando.er...@gmail.com>:
> >> >> > -->> > Has recibido este mensaje porque estás suscrito al grupo "AltNet-Hispano" de Grupos de Google.> Para publicar una entrada en este grupo, envía un correoelectrónicoaaltn...@googlegroups.com.> Para anular tu suscripción a este grupo, envía un correoelectrónicoaaltnet-his...@googlegroups.com
>
> ...
>
> leer más »
Reply all
Reply to author
Forward
0 new messages