Tengo un servidor SFTP que puede conectarse a través de (cliente Bitvise SSH) con la ayuda de la contraseña de ofuscación. Pero, no se puede conectar lo mismo a través del código c#.
Aquí está mi código:
winSCPSrc.SessionOptions sessionOptionss = new winSCPSrc.SessionOptions(); sessionOptionss.Protocol = winSCPSrc.Protocol.Sftp; sessionOptionss.PortNumber = Port; sessionOptionss.HostName = Host; sessionOptionss.UserName = Username; if (!string.IsNullOrEmpty(Password)) { sessionOptionss.Password = Password; } //sessionOptionss.GiveUpSecurityAndAcceptAnySshHostKey = true; sessionOptionss.SshHostKeyFingerprint = fingerPrint; using (winSCPSrc.Session session = new winSCPSrc.Session()) { State.KPILog.Info(" SFTP Connection trying to Open "); session.AddRawConfiguration("DefaultConfiguration", "false"); // Connect session.Open(sessionOptionss); State.KPILog.Info("SFTP Connection Open "); // ... } Recibo el error "Conexión de red cerrada inesperadamente del servidor" mientras session.Open(sessionOptionss) .
Avíseme si hay otras bibliotecas disponibles además de winscp para conectar SFTP.
Lo que he probado:
Capaz de conectarse y descargar archivos a través del cliente Bitvise SSH pero no puede implementarlo en código C#.
Nuestro proveedor de TI ha proporcionado una "contraseña de ofuscación" para conectarse a través del cliente ssh de Bitvise. No tengo idea de cómo funciona en código C#.
Bitvise FAQ dice ( énfasis mío):
Si todas sus conexiones legítimas provienen de Bitvise SSH Client, puede habilitar la ofuscación del protocolo SSH en el servidor SSH en Configuración avanzada, en Enlaces y UPnP. Si habilita la ofuscación, solo Bitvise SSH Client podrá conectarse , y solo si está configurado con la palabra clave de ofuscación correcta.
Parece que la "ofuscación" es una característica patentada de Bitvise. Por lo tanto, es probable que los productos de Bitvise solo lo admitan. Bitvise tiene la biblioteca FlowSsh . Como el cliente de Bitvise aparentemente está construido sobre la biblioteca, debería poder usar la biblioteca desde su código C#.