SSH.NET は、並列処理用に最適化された .NET 用の Secure Shell (SSH-2) ライブラリです。
同期メソッドと非同期メソッドの両方を使用した SSH コマンドの実行
同期操作と非同期操作の両方のための SFTP 機能
SCP機能
リモート、動的、ローカルのポート転送
インタラクティブなシェル/ターミナルの実装
公開鍵、パスワード、多要素を含むキーボードインタラクティブな方法による認証
SOCKS4、SOCKS5、または HTTP プロキシ経由の接続
using (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); // "Hello World!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 ファイル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
さらなる例
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
ディフィー・ヘルマン・グループ・エクスチェンジ・シャ256
diffie-helman-グループ-交換-sha1
ディフィー・ヘルマン・グループ16-sha512
ディフィー・ヘルマン・グループ14-sha256
ディフィー・ヘルマン・グループ14-sha1
ディフィー・ヘルマン・グループ1-sha1
SSH.NET は、次の秘密キー形式をサポートしています。
RSAイン
OpenSSL の従来の PEM 形式 (「BEGIN RSA PRIVATE KEY」)
OpenSSL PKCS#8 PEM 形式 (「BEGIN PRIVATE KEY」、「BEGIN ENCRYPTED PRIVATE KEY」)
ssh.com 形式 (「SSH2 暗号化秘密キーの開始」)
OpenSSH 鍵形式 (「BEGIN OPENSSH PRIVATE KEY」)
DSA で
OpenSSL の従来の PEM 形式 (「BEGIN DSA PRIVATE KEY」)
OpenSSL PKCS#8 PEM 形式 (「BEGIN PRIVATE KEY」、「BEGIN ENCRYPTED PRIVATE KEY」)
ssh.com 形式 (「SSH2 暗号化秘密キーの開始」)
ECDSA 256/384/521 インチ
OpenSSL の従来の PEM 形式 (「BEGIN EC PRIVATE KEY」)
OpenSSL PKCS#8 PEM 形式 (「BEGIN PRIVATE KEY」、「BEGIN ENCRYPTED PRIVATE KEY」)
OpenSSH 鍵形式 (「BEGIN OPENSSH PRIVATE KEY」)
ED25519 で
OpenSSL PKCS#8 PEM 形式 (「BEGIN PRIVATE KEY」、「BEGIN ENCRYPTED PRIVATE KEY」)
OpenSSH 鍵形式 (「BEGIN OPENSSH PRIVATE KEY」)
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 Standard 2.0 および 2.1
.NET 6 (以降)
このライブラリには、最新の .NET SDK 以外に構築するための特別な要件はありません。 COTRIBUTING.md も参照してください。
あなたまたはあなたの会社はプロジェクトでSSH.NETに依存していますか?私たちの継続を奨励し、私たちの仕事に感謝していることを示したい場合は、GitHub スポンサーを通じてスポンサーになることを検討してください。