SSH.NET es una biblioteca Secure Shell (SSH-2) para .NET, optimizada para el paralelismo.
Ejecución del comando SSH utilizando métodos sincrónicos y asincrónicos
Funcionalidad SFTP para operaciones síncronas y asíncronas
funcionalidad SCP
Reenvío de puertos remoto, dinámico y local
Implementación interactiva de shell/terminal
Autenticación mediante clave pública, contraseña y métodos interactivos con teclado, incluido multifactor
Conexión a través de SOCKS4, SOCKS5 o proxy HTTP
usando (var client = new SshClient("sftp.foo.com", "guest", new PrivateKeyFile("ruta/a/mi/clave"))){client.Connect();using SshCommand cmd = client.RunCommand( "echo '¡Hola mundo!'");Console.WriteLine(cmd.Result); // "¡Hola mundo! n"}
usando (var client = new SftpClient("sftp.foo.com", "guest", "pwd")){client.Connect(); usando (FileStream fs = File.OpenRead(@"C:tmptest-file.txt ")){client.UploadFile(fs, "/home/guest/test-file.txt");}foreach (archivo ISftpFile en client.ListDirectory("/home/guest/")){Console.WriteLine($"{file.FullName} {file.LastWriteTime}");}}
Los principales tipos proporcionados por esta biblioteca son:
Renci.SshNet.SshClient
Renci.SshNet.SftpClient
Renci.SshNet.ScpClient
Renci.SshNet.PrivateKeyFile
Renci.SshNet.SshCommand
Renci.SshNet.ShellStream
Más ejemplos
Navegador API
SSH.NET admite los siguientes métodos de cifrado:
aes128-ctr
aes192-ctr
aes256-ctr
aes128-cbc
aes192-cbc
aes256-cbc
3des-cbc
SSH.NET admite los siguientes métodos de intercambio de claves:
curva25519-sha256
ecdh-sha2-nistp256
ecdh-sha2-nistp384
ecdh-sha2-nistp521
intercambio-de-grupo-diffie-hellman-sha256
diffie-hellman-grupo-intercambio-sha1
grupo-diffie-hellman16-sha512
grupo-diffie-hellman14-sha256
diffie-hellman-grupo14-sha1
diffie-hellman-grupo1-sha1
SSH.NET admite los siguientes formatos de clave privada:
RSA en
Formato PEM tradicional OpenSSL ("COMENZAR CLAVE PRIVADA RSA")
Formato OpenSSL PKCS#8 PEM ("COMENZAR CLAVE PRIVADA", "COMENZAR CLAVE PRIVADA CIFRADA")
Formato ssh.com ("COMENZAR CLAVE PRIVADA CIFRADA SSH2")
Formato de clave OpenSSH ("COMENZAR CLAVE PRIVADA OPENSSH")
DSA en
Formato PEM tradicional OpenSSL ("COMENZAR CLAVE PRIVADA DSA")
Formato OpenSSL PKCS#8 PEM ("COMENZAR CLAVE PRIVADA", "COMENZAR CLAVE PRIVADA CIFRADA")
Formato ssh.com ("COMENZAR CLAVE PRIVADA CIFRADA SSH2")
ECDSA 256/384/521 en
Formato PEM tradicional OpenSSL ("BEGIN EC PRIVATE KEY")
Formato OpenSSL PKCS#8 PEM ("COMENZAR CLAVE PRIVADA", "COMENZAR CLAVE PRIVADA CIFRADA")
Formato de clave OpenSSH ("COMENZAR CLAVE PRIVADA OPENSSH")
ED25519 en
Formato OpenSSL PKCS#8 PEM ("COMENZAR CLAVE PRIVADA", "COMENZAR CLAVE PRIVADA CIFRADA")
Formato de clave OpenSSH ("COMENZAR CLAVE PRIVADA OPENSSH")
Las claves privadas en formato PEM tradicional de OpenSSL se pueden cifrar utilizando uno de los siguientes métodos de cifrado:
DES-EDE3-CBC
DES-EDE3-CFB
DES-CBC
AES-128-CBC
AES-192-CBC
AES-256-CBC
Las claves privadas en formato OpenSSL PKCS#8 PEM se pueden cifrar utilizando cualquier método de cifrado compatible con BouncyCastle.
Las claves privadas en formato ssh.com se pueden cifrar utilizando uno de los siguientes métodos de cifrado:
3des-cbc
Las claves privadas en formato de clave OpenSSH se pueden cifrar utilizando uno de los siguientes métodos de cifrado:
3des-cbc
aes128-cbc
aes192-cbc
aes256-cbc
aes128-ctr
aes192-ctr
aes256-ctr
SSH.NET admite los siguientes algoritmos de clave de host:
ssh-ed25519
ecdsa-sha2-nistp256
ecdsa-sha2-nistp384
ecdsa-sha2-nistp521
rsa-sha2-512
rsa-sha2-256
ssh-rsa
ssh-dss
SSH.NET admite los siguientes algoritmos MAC:
hmac-sha2-256
hmac-sha2-512
hmac-sha1
SSH.NET admite los siguientes algoritmos de compresión:
ninguno (predeterminado)
SSH.NET admite los siguientes marcos de destino:
.NETFramework 4.6.2 (y superior)
Estándar .NET 2.0 y 2.1
.NET 6 (y superior)
La biblioteca no tiene requisitos especiales para construir, aparte de un SDK .NET actualizado. Véase también CONTRIBUTING.md.
¿Usted o su empresa confían en SSH.NET en sus proyectos? Si desea animarnos a seguir adelante y demostrarnos que aprecia nuestro trabajo, considere convertirse en patrocinador a través de GitHub Sponsors.