SSH.NET عبارة عن مكتبة Secure Shell (SSH-2) لـ .NET، مُحسّنة للتوازي.
تنفيذ أمر SSH باستخدام الطرق المتزامنة وغير المتزامنة
وظيفة SFTP لكل من العمليات المتزامنة وغير المتزامنة
وظيفة SCP
إعادة توجيه المنفذ البعيد والديناميكي والمحلي
تنفيذ القشرة/المحطة التفاعلية
المصادقة عبر المفتاح العام وكلمة المرور والطرق التفاعلية للوحة المفاتيح، بما في ذلك العوامل المتعددة
الاتصال عبر SOCKS4 أو SOCKS5 أو وكيل HTTP
باستخدام (var client = new SshClient("sftp.foo.com"، "guest"، new PrivateKeyFile("path/to/my/key")){client.Connect();using SshCommand cmd = client.RunCommand( "echo 'Hello World!'");Console.WriteLine(cmd.Result); // "مرحبًا بالعالم! ن"}
باستخدام (var client = new SftpClient("sftp.foo.com"، "guest"، "pwd")){client.Connect();using (FileStream fs = File.OpenRead(@"C:tmptest-file.txt) ")){client.UploadFile(fs, "/home/guest/test-file.txt");}foreach (ملف ISftpFile في client.ListDirectory("/home/guest/")){Console.WriteLine($"{file.FullName} {file.LastWriteTime}");}}
الأنواع الرئيسية التي توفرها هذه المكتبة هي:
Renci.SshNet.SshClient
Renci.SshNet.SftpClient
Renci.SshNet.ScpClient
Renci.SshNet.PrivateKeyFile
Renci.SshNet.SshCommand
Renci.SshNet.ShellStream
مزيد من الأمثلة
متصفح واجهة برمجة التطبيقات
يدعم SSH.NET طرق التشفير التالية:
aes128-ctr
aes192-ctr
aes256-ctr
aes128-سي بي سي
aes192-سي بي سي
aes256-سي بي سي
3des-سي بي سي
يدعم SSH.NET طرق تبادل المفاتيح التالية:
منحنى25519-sha256
منحنى[email protected]
ecdh-sha2-nistp256
ecdh-sha2-nistp384
ecdh-sha2-nistp521
ديفي هيلمان-مجموعة-تبادل-sha256
ديفي هيلمان-مجموعة-تبادل-sha1
ديفي-هيلمان-group16-sha512
ديفي هيلمان-group14-sha256
ديفي هيلمان-group14-sha1
ديفي-هيلمان-group1-sha1
يدعم SSH.NET تنسيقات المفاتيح الخاصة التالية:
آر إس إيه في
تنسيق PEM التقليدي لـ OpenSSL ("BEGIN RSA PRIVATE KEY")
تنسيق OpenSSL PKCS#8 PEM ("بدء المفتاح الخاص"، "بدء المفتاح الخاص المشفر")
تنسيق ssh.com ("بدء استخدام المفتاح الخاص المشفر SSH2")
تنسيق مفتاح OpenSSH ("بدء فتح المفتاح الخاص")
بدل الإقامة اليومي في
تنسيق PEM التقليدي لـ OpenSSL ("BEGIN DSA PRIVATE KEY")
تنسيق OpenSSL PKCS#8 PEM ("بدء المفتاح الخاص"، "بدء المفتاح الخاص المشفر")
تنسيق ssh.com ("بدء استخدام المفتاح الخاص المشفر SSH2")
ECDSA 256/384/521 بوصة
تنسيق PEM التقليدي لـ OpenSSL ("BEGIN EC PRIVATE KEY")
تنسيق OpenSSL PKCS#8 PEM ("بدء المفتاح الخاص"، "بدء المفتاح الخاص المشفر")
تنسيق مفتاح OpenSSH ("بدء فتح المفتاح الخاص")
ED25519 في
تنسيق OpenSSL PKCS#8 PEM ("بدء المفتاح الخاص"، "بدء المفتاح الخاص المشفر")
تنسيق مفتاح OpenSSH ("بدء فتح المفتاح الخاص")
يمكن تشفير المفاتيح الخاصة بتنسيق PEM التقليدي لـ OpenSSL باستخدام إحدى طرق التشفير التالية:
DES-EDE3-CBC
DES-EDE3-CFB
ديس-سي بي سي
ايه اي اس-128-سي بي سي
ايه اي اس-192-سي بي سي
ايه اي اس-256-سي بي سي
يمكن تشفير المفاتيح الخاصة بتنسيق OpenSSL PKCS#8 PEM باستخدام أي طريقة تشفير يدعمها BouncyCastle.
يمكن تشفير المفاتيح الخاصة بتنسيق ssh.com باستخدام إحدى طرق التشفير التالية:
3des-سي بي سي
يمكن تشفير المفاتيح الخاصة بتنسيق مفتاح OpenSSH باستخدام إحدى طرق التشفير التالية:
3des-سي بي سي
aes128-سي بي سي
aes192-سي بي سي
aes256-سي بي سي
aes128-ctr
aes192-ctr
aes256-ctr
يدعم SSH.NET خوارزميات مفتاح المضيف التالية:
سش-ed25519
ecdsa-sha2-nistp256
ecdsa-sha2-nistp384
ecdsa-sha2-nistp521
آر إس إيه-sha2-512
آر إس إيه-sha2-256
ssh-rsa
ssh-dss
يدعم SSH.NET خوارزميات MAC التالية:
هماك-sha2-256
هماك-sha2-512
هماك-sha1
يدعم SSH.NET خوارزميات الضغط التالية:
لا شيء (افتراضي)
يدعم SSH.NET الأطر المستهدفة التالية:
.NETFramework 4.6.2 (والإصدارات الأحدث)
.NET القياسي 2.0 و2.1
.NET 6 (والإصدارات الأحدث)
لا توجد متطلبات خاصة للإنشاء في المكتبة، بخلاف .NET SDK المحدث. انظر أيضًا CONTRIBUTING.md.
هل تعتمد أنت أو شركتك على SSH.NET في مشاريعك؟ إذا كنت تريد تشجيعنا على الاستمرار وإظهار تقديرك لعملنا، فيرجى التفكير في أن تصبح راعيًا من خلال رعاة GitHub.