SSH.NET adalah pustaka Secure Shell (SSH-2) untuk .NET, dioptimalkan untuk paralelisme.
Eksekusi perintah SSH menggunakan metode sinkron dan asinkron
Fungsionalitas SFTP untuk operasi sinkron dan asinkron
fungsionalitas SCP
Penerusan port jarak jauh, dinamis dan lokal
Implementasi shell/terminal interaktif
Otentikasi melalui metode kunci publik, kata sandi, dan keyboard interaktif, termasuk multi-faktor
Koneksi melalui SOCKS4, SOCKS5 atau proksi HTTP
menggunakan (var klien = new SshClient("sftp.foo.com", "guest", new PrivateKeyFile("path/to/my/key"))){client.Connect();menggunakan SshCommand cmd = client.RunCommand( "echo 'Halo Dunia!'");Console.WriteLine(cmd.Result); // "Halo Dunia!n"}
menggunakan (var klien = new SftpClient("sftp.foo.com", "tamu", "pwd")){client.Connect();menggunakan (FileStream fs = File.OpenRead(@"C:tmptest-file.txt ")){client.UploadFile(fs, "/home/guest/test-file.txt");}foreach (file ISftpFile di klien.ListDirectory("/home/guest/")){Console.WriteLine($"{file.FullName} {file.LastWriteTime}");}}
Tipe utama yang disediakan oleh perpustakaan ini adalah:
Renci.SshNet.SshClient
Renci.SshNet.SftpClient
Renci.SshNet.ScpClient
Renci.SshNet.PrivateKeyFile
Renci.SshNet.SshCommand
Renci.SshNet.ShellStream
Contoh lebih lanjut
peramban API
SSH.NET mendukung metode enkripsi berikut:
aes128-ctr
aes192-ctr
aes256-ctr
aes128-cbc
aes192-cbc
aes256-cbc
3des-cbc
SSH.NET mendukung metode pertukaran kunci berikut:
kurva25519-sha256
ecdh-sha2-nistp256
ecdh-sha2-nistp384
ecdh-sha2-nistp521
diffie-hellman-pertukaran-grup-sha256
diffie-hellman-group-exchange-sha1
diffie-hellman-group16-sha512
diffie-hellman-group14-sha256
diffie-hellman-group14-sha1
diffie-hellman-group1-sha1
SSH.NET mendukung format kunci pribadi berikut:
RSA di
Format PEM tradisional OpenSSL ("BEGIN RSA PRIVATE KEY")
Format OpenSSL PKCS#8 PEM ("MULAI KUNCI PRIBADI", "MULAI KUNCI PRIBADI TERENKRIPSI")
format ssh.com ("MULAI KUNCI PRIBADI TERENKRIPSI SSH2")
Format kunci OpenSSH ("MULAI KUNCI PRIBADI OPENSSH")
DSA masuk
Format PEM tradisional OpenSSL ("MULAI KUNCI PRIBADI DSA")
Format OpenSSL PKCS#8 PEM ("MULAI KUNCI PRIBADI", "MULAI KUNCI PRIBADI TERENKRIPSI")
format ssh.com ("MULAI KUNCI PRIBADI TERENKRIPSI SSH2")
ECDSA 256/384/521 inci
Format PEM tradisional OpenSSL ("BEGIN EC PRIVATE KEY")
Format OpenSSL PKCS#8 PEM ("MULAI KUNCI PRIBADI", "MULAI KUNCI PRIBADI TERENKRIPSI")
Format kunci OpenSSH ("MULAI KUNCI PRIBADI OPENSSH")
ED25519 masuk
Format OpenSSL PKCS#8 PEM ("MULAI KUNCI PRIBADI", "MULAI KUNCI PRIBADI TERENKRIPSI")
Format kunci OpenSSH ("MULAI KUNCI PRIBADI OPENSSH")
Kunci pribadi dalam format PEM tradisional OpenSSL dapat dienkripsi menggunakan salah satu metode sandi berikut:
DES-EDE3-CBC
DES-EDE3-CFB
DES-CBC
AES-128-CBC
AES-192-CBC
AES-256-CBC
Kunci pribadi dalam format OpenSSL PKCS#8 PEM dapat dienkripsi menggunakan metode sandi apa pun yang didukung BouncyCastle.
Kunci pribadi dalam format ssh.com dapat dienkripsi menggunakan salah satu metode sandi berikut:
3des-cbc
Kunci pribadi dalam format kunci OpenSSH dapat dienkripsi menggunakan salah satu metode sandi berikut:
3des-cbc
aes128-cbc
aes192-cbc
aes256-cbc
aes128-ctr
aes192-ctr
aes256-ctr
SSH.NET mendukung algoritma kunci host berikut:
ssh-ed25519
ecdsa-sha2-nistp256
ecdsa-sha2-nistp384
ecdsa-sha2-nistp521
rsa-sha2-512
rsa-sha2-256
ssh-rsa
ssh-dss
SSH.NET mendukung algoritma MAC berikut:
hmac-sha2-256
hmac-sha2-512
hmac-sha1
SSH.NET mendukung algoritma kompresi berikut:
tidak ada (standar)
SSH.NET mendukung kerangka target berikut:
.NETFramework 4.6.2 (dan lebih tinggi)
.NET Standar 2.0 dan 2.1
.NET 6 (dan lebih tinggi)
Perpustakaan tidak memiliki persyaratan khusus untuk dibangun, selain .NET SDK terbaru. Lihat juga KONTRIBUSI.md.
Apakah Anda atau perusahaan Anda mengandalkan SSH.NET dalam proyek Anda? Jika Anda ingin mendorong kami untuk terus maju dan menunjukkan kepada kami bahwa Anda menghargai pekerjaan kami, silakan pertimbangkan untuk menjadi sponsor melalui GitHub Sponsors.