SSH.NET 是適用於 .NET 的 Secure Shell (SSH-2) 函式庫,針對並行性進行了最佳化。
使用同步和非同步方法執行 SSH 命令
用於同步和非同步操作的 SFTP 功能
SCP功能
遠端、動態和本機連接埠轉發
互動式 shell/終端實現
透過公鑰、密碼和鍵盤互動方法(包括多因素)進行身份驗證
透過 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); //「你好世界!n」}
using (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 in client.ListDirectory("/home/guest/")){Console.WriteLine($" { file.FullName} {file.LastWriteTime}");}}
該庫提供的主要類型有:
Renci.SshNet.SshClient
Renci.SshNet.SftpClient
Renci.SshNet.ScpClient
Renci.SshNet.PrivateKeyFile
Renci.SshNet.Ssh指令
Renci.SshNet.ShellStream
更多例子
API瀏覽器
SSH.NET支援以下加密方法:
aes128-ctr
aes192-ctr
aes256-ctr
aes128-CBC
aes192-CBC
aes256-CBC
3des-CBC
SSH.NET支援以下金鑰交換方法:
曲線25519-sha256
ECDH-SHA2-nistp256
ECDH-SHA2-nistp384
ECDH-SHA2-nistp521
迪菲-赫爾曼-組交換-sha256
迪菲-赫爾曼-組交換-sha1
迪菲-赫爾曼-group16-sha512
迪菲-赫爾曼-group14-sha256
迪菲-赫爾曼-group14-sha1
迪菲-赫爾曼-group1-sha1
SSH.NET支援以下私鑰格式:
RSA 在
OpenSSL 傳統 PEM 格式(「BEGIN RSA PRIVATE KEY」)
OpenSSL PKCS#8 PEM 格式(「開始私鑰」、「開始加密私鑰」)
ssh.com 格式(「開始 SSH2 加密私鑰」)
OpenSSH 金鑰格式(「開始 OPENSSH 私鑰」)
DSA 中
OpenSSL 傳統 PEM 格式(「BEGIN DSA PRIVATE KEY」)
OpenSSL PKCS#8 PEM 格式(「開始私鑰」、「開始加密私鑰」)
ssh.com 格式(「開始 SSH2 加密私鑰」)
ECDSA 256/384/521 英寸
OpenSSL 傳統 PEM 格式(「BEGIN EC PRIVATE KEY」)
OpenSSL PKCS#8 PEM 格式(「開始私鑰」、「開始加密私鑰」)
OpenSSH 金鑰格式(「開始 OPENSSH 私鑰」)
ED25519 在
OpenSSL PKCS#8 PEM 格式(「開始私鑰」、「開始加密私鑰」)
OpenSSH 金鑰格式(「開始 OPENSSH 私鑰」)
OpenSSL 傳統 PEM 格式的私密金鑰可以使用以下密碼方法之一進行加密:
DES-EDE3-CBC
DES-EDE3-CFB
DES-CBC
AES-128-CBC
AES-192-CBC
AES-256-CBC
OpenSSL PKCS#8 PEM 格式的私密金鑰可以使用 BouncyCastle 支援的任何密碼方法進行加密。
ssh.com 格式的私鑰可以使用以下密碼方法之一進行加密:
3des-CBC
OpenSSH 金鑰格式的私密金鑰可以使用以下密碼方法之一進行加密:
3des-CBC
aes128-CBC
aes192-CBC
aes256-CBC
aes128-ctr
aes192-ctr
aes256-ctr
SSH.NET支援下列主機金鑰演算法:
ssh-ed25519
ECDSA-SHA2-Nistp256
ECDSA-SHA2-NISTP384
ECDSA-SHA2-nistp521
rsa-sha2-512
rsa-sha2-256
SSH-RSA
ssh-DSS
SSH.NET支援以下MAC演算法:
hmac-sha2-256
hmac-sha2-512
hmac-sha1
SSH.NET支援以下壓縮演算法:
無(預設)
SSH.NET支援以下目標框架:
.NETFramework 4.6.2(及更高版本)
.NET 標準 2.0 和 2.1
.NET 6(及更高版本)
除了最新的 .NET SDK 之外,該程式庫沒有特殊的建置要求。另請參閱 CONTRIBUTING.md。
您或您的公司在您的專案中依賴SSH.NET嗎?如果您想鼓勵我們繼續前進並向我們表明您欣賞我們的工作,請考慮透過 GitHub Sponsors 成為贊助商。