From 4a60ad1d5c1f4cd294a60f42010175165dda856e Mon Sep 17 00:00:00 2001 From: Rob Hague Date: Sat, 19 Apr 2025 10:40:29 +0100 Subject: [PATCH 1/2] Update docs and remove a leftover DSA certificate algorithm --- README.md | 36 +++++++++++++----------------- docfx/toc.yml | 2 ++ src/Renci.SshNet/ConnectionInfo.cs | 1 - src/Renci.SshNet/PrivateKeyFile.cs | 1 - 4 files changed, 18 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index b29808811..e801510a1 100644 --- a/README.md +++ b/README.md @@ -8,12 +8,12 @@ SSH.NET is a Secure Shell (SSH-2) library for .NET, optimized for parallelism. ## Key Features -* Execution of SSH command using both synchronous and asynchronous methods +* Execution of SSH commands using both synchronous and asynchronous methods * SFTP functionality for both synchronous and asynchronous operations * SCP functionality -* Remote, dynamic and local port forwarding +* Remote, dynamic and local port forwarding * Interactive shell/terminal implementation -* Authentication via publickey, password and keyboard-interactive methods, including multi-factor +* Authentication via public key, password and keyboard-interactive methods, including multi-factor * Connection via SOCKS4, SOCKS5 or HTTP proxy ## How to Use @@ -52,12 +52,12 @@ using (var client = new SftpClient("sftp.foo.com", "guest", "pwd")) The main types provided by this library are: -* Renci.SshNet.SshClient -* Renci.SshNet.SftpClient -* Renci.SshNet.ScpClient -* Renci.SshNet.PrivateKeyFile -* Renci.SshNet.SshCommand -* Renci.SshNet.ShellStream +* [Renci.SshNet.SshClient](https://sshnet.github.io/SSH.NET/api/Renci.SshNet.SshClient.html) +* [Renci.SshNet.SftpClient](https://sshnet.github.io/SSH.NET/api/Renci.SshNet.SftpClient.html) +* [Renci.SshNet.PrivateKeyFile](https://sshnet.github.io/SSH.NET/api/Renci.SshNet.PrivateKeyFile.html) +* [Renci.SshNet.SshCommand](https://sshnet.github.io/SSH.NET/api/Renci.SshNet.SshCommand.html) +* [Renci.SshNet.ForwardedPort](https://sshnet.github.io/SSH.NET/api/Renci.SshNet.ForwardedPort.html) +* [Renci.SshNet.ShellStream](https://sshnet.github.io/SSH.NET/api/Renci.SshNet.ShellStream.html) ## Additional Documentation @@ -106,11 +106,6 @@ The main types provided by this library are: * ssh.com format ("BEGIN SSH2 ENCRYPTED PRIVATE KEY") * OpenSSH key format ("BEGIN OPENSSH PRIVATE KEY") * PuTTY private key format ("PuTTY-User-Key-File-2", "PuTTY-User-Key-File-3") -* DSA in - * OpenSSL traditional PEM format ("BEGIN DSA PRIVATE KEY") - * OpenSSL PKCS#8 PEM format ("BEGIN PRIVATE KEY", "BEGIN ENCRYPTED PRIVATE KEY") - * ssh.com format ("BEGIN SSH2 ENCRYPTED PRIVATE KEY") - * PuTTY private key format ("PuTTY-User-Key-File-2", "PuTTY-User-Key-File-3") * ECDSA 256/384/521 in * OpenSSL traditional PEM format ("BEGIN EC PRIVATE KEY") * OpenSSL PKCS#8 PEM format ("BEGIN PRIVATE KEY", "BEGIN ENCRYPTED PRIVATE KEY") @@ -158,7 +153,8 @@ Private keys in PuTTY private key format can be encrypted using the following ci * rsa-sha2-512 * rsa-sha2-256 * ssh-rsa -* ssh-dss + +OpenSSH certificate authentication is supported for all of the above, e.g. ssh-ed25519-cert-v01@openssh.com. ## Message Authentication Code @@ -187,17 +183,17 @@ Private keys in PuTTY private key format can be encrypted using the following ci The library has no special requirements to build, other than an up-to-date .NET SDK. See also [CONTRIBUTING.md](https://github.com/sshnet/SSH.NET/blob/develop/CONTRIBUTING.md). -## Using Pre-Release NuGet Package +## Using Pre-Release NuGet Packages -If you need an unreleased bugfix or feature, you can use the Pre-Release NuGet packages from the `develop` branch which are published to the [GitHub NuGet Registry](https://github.com/sshnet/SSH.NET/pkgs/nuget/SSH.NET). -In order to pull packages from the registry you first have to create a Personal Access Token with the `read:packages` permissions. Then add a NuGet Source for SSH.NET: - -Note: you may have to add `--store-password-in-clear-text` on non-Windows platforms. +Pre-release NuGet packages are published from the `develop` branch to the [GitHub NuGet Registry](https://github.com/sshnet/SSH.NET/pkgs/nuget/SSH.NET). +In order to pull packages from the registry, create a Personal Access Token with the `read:packages` permissions. Then add a package source for SSH.NET: ``` dotnet nuget add source --name SSH.NET --username --password https://nuget.pkg.github.com/sshnet/index.json ``` +Note: you may have to add `--store-password-in-clear-text` on non-Windows platforms. + Then you can add the the package as described [here](https://github.com/sshnet/SSH.NET/pkgs/nuget/SSH.NET). ## Supporting SSH.NET diff --git a/docfx/toc.yml b/docfx/toc.yml index 747e1ce1e..e2d42526b 100644 --- a/docfx/toc.yml +++ b/docfx/toc.yml @@ -4,3 +4,5 @@ href: examples.md - name: API href: api/ +- name: Logging + href: logging.md diff --git a/src/Renci.SshNet/ConnectionInfo.cs b/src/Renci.SshNet/ConnectionInfo.cs index f22e98816..dce02ada2 100644 --- a/src/Renci.SshNet/ConnectionInfo.cs +++ b/src/Renci.SshNet/ConnectionInfo.cs @@ -398,7 +398,6 @@ public ConnectionInfo(string host, int port, string username, ProxyTypes proxyTy hostAlgs.Add("rsa-sha2-512-cert-v01@openssh.com", data => { var cert = new Certificate(data); return new CertificateHostAlgorithm("rsa-sha2-512-cert-v01@openssh.com", cert, new RsaDigitalSignature((RsaKey)cert.Key, HashAlgorithmName.SHA512), hostAlgs); }); hostAlgs.Add("rsa-sha2-256-cert-v01@openssh.com", data => { var cert = new Certificate(data); return new CertificateHostAlgorithm("rsa-sha2-256-cert-v01@openssh.com", cert, new RsaDigitalSignature((RsaKey)cert.Key, HashAlgorithmName.SHA256), hostAlgs); }); hostAlgs.Add("ssh-rsa-cert-v01@openssh.com", data => { var cert = new Certificate(data); return new CertificateHostAlgorithm("ssh-rsa-cert-v01@openssh.com", cert, hostAlgs); }); - hostAlgs.Add("ssh-dss-cert-v01@openssh.com", data => { var cert = new Certificate(data); return new CertificateHostAlgorithm("ssh-dss-cert-v01@openssh.com", cert, hostAlgs); }); hostAlgs.Add("ssh-ed25519", data => new KeyHostAlgorithm("ssh-ed25519", new ED25519Key(new SshKeyData(data)))); hostAlgs.Add("ecdsa-sha2-nistp256", data => new KeyHostAlgorithm("ecdsa-sha2-nistp256", new EcdsaKey(new SshKeyData(data)))); hostAlgs.Add("ecdsa-sha2-nistp384", data => new KeyHostAlgorithm("ecdsa-sha2-nistp384", new EcdsaKey(new SshKeyData(data)))); diff --git a/src/Renci.SshNet/PrivateKeyFile.cs b/src/Renci.SshNet/PrivateKeyFile.cs index fe19ddfe5..ad2284af3 100644 --- a/src/Renci.SshNet/PrivateKeyFile.cs +++ b/src/Renci.SshNet/PrivateKeyFile.cs @@ -321,7 +321,6 @@ private void Open(Stream privateKey, string? passPhrase) switch (keyName) { case "RSA PRIVATE KEY": - case "DSA PRIVATE KEY": case "EC PRIVATE KEY": var cipherName = privateKeyMatch.Result("${cipherName}"); var salt = privateKeyMatch.Result("${salt}"); From 8af8a14afc90bf1a2d53b6ed9af1ab20fcc3d6e9 Mon Sep 17 00:00:00 2001 From: Rob Hague Date: Sat, 19 Apr 2025 11:30:42 +0100 Subject: [PATCH 2/2] more cleanup --- src/Renci.SshNet/PrivateKeyFile.cs | 3 - src/Renci.SshNet/Security/Certificate.cs | 3 +- .../HostKeyFile.cs | 1 - .../server/ssh/ssh_host_dsa_key | 12 -- .../user/sshnet/authorized_keys | 1 - .../HostKeyAlgorithm.cs | 1 - .../PublicKeyAlgorithm.cs | 2 - .../Properties/Resources.resx | 106 ------------------ 8 files changed, 1 insertion(+), 128 deletions(-) delete mode 100644 test/Renci.SshNet.IntegrationTests/server/ssh/ssh_host_dsa_key diff --git a/src/Renci.SshNet/PrivateKeyFile.cs b/src/Renci.SshNet/PrivateKeyFile.cs index ad2284af3..635d24536 100644 --- a/src/Renci.SshNet/PrivateKeyFile.cs +++ b/src/Renci.SshNet/PrivateKeyFile.cs @@ -28,9 +28,6 @@ namespace Renci.SshNet /// RSA in OpenSSL PEM, ssh.com, OpenSSH and PuTTY key format /// /// - /// DSA in OpenSSL PEM, ssh.com and PuTTY key format - /// - /// /// ECDSA 256/384/521 in OpenSSL PEM, OpenSSH and PuTTY key format /// /// diff --git a/src/Renci.SshNet/Security/Certificate.cs b/src/Renci.SshNet/Security/Certificate.cs index 30f083c1a..24cd1f1ef 100644 --- a/src/Renci.SshNet/Security/Certificate.cs +++ b/src/Renci.SshNet/Security/Certificate.cs @@ -22,7 +22,6 @@ public class Certificate /// The value is one of the following: /// /// ssh-rsa-cert-v01@openssh.com - /// ssh-dss-cert-v01@openssh.com /// ecdsa-sha2-nistp256-cert-v01@openssh.com /// ecdsa-sha2-nistp384-cert-v01@openssh.com /// ecdsa-sha2-nistp521-cert-v01@openssh.com @@ -203,7 +202,7 @@ public IDictionary Extensions /// /// The CA key used to sign the certificate. /// The valid key types for CA keys are ssh-rsa, - /// ssh-dss, ssh-ed25519 and the ECDSA types ecdsa-sha2-nistp256, + /// ssh-ed25519 and the ECDSA types ecdsa-sha2-nistp256, /// ecdsa-sha2-nistp384, ecdsa-sha2-nistp521. "Chained" certificates, where /// the signature key type is a certificate type itself are NOT supported. /// Note that it is possible for a RSA certificate key to be signed by a diff --git a/test/Renci.SshNet.IntegrationTests/HostKeyFile.cs b/test/Renci.SshNet.IntegrationTests/HostKeyFile.cs index 1ed3e847f..be8cb7f9d 100644 --- a/test/Renci.SshNet.IntegrationTests/HostKeyFile.cs +++ b/test/Renci.SshNet.IntegrationTests/HostKeyFile.cs @@ -3,7 +3,6 @@ public sealed class HostKeyFile { public static readonly HostKeyFile Rsa = new HostKeyFile("ssh-rsa", "/etc/ssh/ssh_host_rsa_key", 3072, new byte[] { 0x3d, 0x90, 0xd8, 0x0d, 0xd5, 0xe0, 0xb6, 0x13, 0x42, 0x7c, 0x78, 0x1e, 0x19, 0xa3, 0x99, 0x2b }); - public static readonly HostKeyFile Dsa = new HostKeyFile("ssh-dsa", "/etc/ssh/ssh_host_dsa_key", 1024, new byte[] { 0xcc, 0xb4, 0x4c, 0xe1, 0xba, 0x6d, 0x15, 0x79, 0xec, 0xe1, 0x31, 0x9f, 0xc0, 0x4a, 0x07, 0x9d }); public static readonly HostKeyFile Ed25519 = new HostKeyFile("ssh-ed25519", "/etc/ssh/ssh_host_ed25519_key", 256, new byte[] { 0xb3, 0xb9, 0xd0, 0x1b, 0x73, 0xc4, 0x60, 0xb4, 0xce, 0xed, 0x06, 0xf8, 0x58, 0x49, 0xa3, 0xda }); public static readonly HostKeyFile Ecdsa256 = new HostKeyFile("ecdsa-sha2-nistp256", "/etc/ssh/ssh_host_ecdsa256_key", 256, new byte[] { 0xbe, 0x98, 0xa1, 0x54, 0x91, 0x2c, 0x96, 0xc3, 0x77, 0x39, 0x6e, 0x37, 0x8e, 0x64, 0x26, 0x72 }); public static readonly HostKeyFile Ecdsa384 = new HostKeyFile("ecdsa-sha2-nistp384", "/etc/ssh/ssh_host_ecdsa384_key", 384, new byte[] { 0xab, 0xbb, 0x20, 0x07, 0x3c, 0xb2, 0x89, 0x9e, 0x40, 0xfe, 0x32, 0x56, 0xfe, 0xd9, 0x95, 0x0b }); diff --git a/test/Renci.SshNet.IntegrationTests/server/ssh/ssh_host_dsa_key b/test/Renci.SshNet.IntegrationTests/server/ssh/ssh_host_dsa_key deleted file mode 100644 index 967ffbc6d..000000000 --- a/test/Renci.SshNet.IntegrationTests/server/ssh/ssh_host_dsa_key +++ /dev/null @@ -1,12 +0,0 @@ ------BEGIN DSA PRIVATE KEY----- -MIIBugIBAAKBgQDK1HgEGb/kOVsvVlJpCOpnotUAwoYN1EIAl2Zqj+sxwtUZGR9j -pBV3XYo2IBqTk+2h8Wup8MD3MyoEEMcOem9Jam3VZmvKFTIMBqJglbb+srszsSqw -OiXueV/TPrqMSIEFfNVfPPgHIJ0PwhZ2f3uPidWDEc6t3GzzYRnBFM2zawIVANqN -Qhz4qsDa7V8UamatuXMlhdkHAoGAf28PeajaIq09LwxxN3Ed7FAzsJ9DkodSpjD3 -2E/ezv3eyw1RaFR34g2G0R8xRql0ZgJpb48my4JT5JLmcDtZX0xTdy5Gh2Ke/qxR -smazFLds8CSqVK7e6CVaS6xv2dfI+KgsIVXhDL1GCy8KRJjMmYdx/+4KHgNzGhCZ -lA04mw4CgYBQtVdXgipcs8jLUI/9BkUvgiPJibi5SZibxpL+vVCEOKiMK3I82TuM -YR7S/SJWz1W3KQb9Lmrd/nVwKlk1Ey7Q4J487UpnOuN5Mu7P6PbZi1TXd442XG2r -WbFVGIJVr78ZURaa4mykZJ2DRaanmemRAPSvWTnFYQ6qC2CoYDPaLwIUYatoN3LK -IwehRooj2lc7/l2xxXQ= ------END DSA PRIVATE KEY----- diff --git a/test/Renci.SshNet.IntegrationTests/user/sshnet/authorized_keys b/test/Renci.SshNet.IntegrationTests/user/sshnet/authorized_keys index 5ba085cb6..6cda4b5db 100644 --- a/test/Renci.SshNet.IntegrationTests/user/sshnet/authorized_keys +++ b/test/Renci.SshNet.IntegrationTests/user/sshnet/authorized_keys @@ -4,4 +4,3 @@ ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBOwUDIZh ecdsa-sha2-nistp384 AAAAE2VjZHNhLXNoYTItbmlzdHAzODQAAAAIbmlzdHAzODQAAABhBFL5NEL9uRhgkF2q+8m58EvtZq4mDGgcVEzafPRuNIn1018m9KuqNpOQ6d+435n+MRYThe4MUdijSIDuopX2i14Z35oKZ9x2LsV+RxQczjmbnoWZdvgcvdOo6jiJdY7XJw== Key.OPENSSH.ECDSA384.Encrypted ecdsa-sha2-nistp521 AAAAE2VjZHNhLXNoYTItbmlzdHA1MjEAAAAIbmlzdHA1MjEAAACFBAH9BVM6bRhbELtgdMGsin5lM42R2EWoT+6Akakl5rQy2tHHLIYGLEfaqI+0iUo2V6MxEf9w0hVz6SEsF+yDgyrYPQCIieaB1oBvIl+PZmL1XsuAXs2uMRsNJb4myGU/DiekxqzIPa0LMrBZ4xmErcn5Gazkw1EA0B3HoaW5wj+geI/efQ== Key.OPENSSH.ECDSA521.Encrypted ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGFdyflleGqSPOhgSYZf7ZQFlG0zEL9VDGC69UbtaaBy Key.OPENSSH.ED25519.Encrypted -ssh-dss AAAAB3NzaC1kc3MAAACBAI8gyHFchkVhkPiwkhkjFDqN6w2nFWTqVy9sLjFs38oEWLMpAw9+c132erUptAhNQ6JZUAVZGllv/3V5hksSDyChe9WY5IfsOlh6X0dcZCwBKysEzQlPyMFqAtbc9uv7oUWNzBfvEbtV6WN/VmcmXf7dyo3EBVXbBFdPl1NKC7W9AAAAFQDY1+bTt7s2iNmYoBE4C9hdWRCyeQAAAIAEtj09ugx/Tdl6bo7X6mX17hcgVgIxcYj5VNONg2k6IHmRFriLviYaS68mIB4SG3jmvvxbXAGqR1bWBUrv90n0wpxxcuuNoCFylJQyuqUkzSsUHb0WMcncZ/tBQt+NJnRB1Zp9sw8n20ocpg3WVPdaXTtc4pk83NYB6ywG6UFPvgAAAIAX+De5dwo33LMl9W8IvA4dY8Q1wshdycAGJzhy+qYF9dCcwD1Pg+4EbPjYPmzJopsVrK97v9QhxyYcXMr/iHhngGwd9nYNzzSKx665vkSjzyeJWpeQ+fvNV3CLItP01ypbUreM+s+Vz1wor5joLKcDS4X0oQ0RIVZNEHnekuLuFg== Key.SSH2.DSA.Encrypted.Des.CBC.12345 diff --git a/test/Renci.SshNet.TestTools.OpenSSH/HostKeyAlgorithm.cs b/test/Renci.SshNet.TestTools.OpenSSH/HostKeyAlgorithm.cs index 23f41478b..a632bab1e 100644 --- a/test/Renci.SshNet.TestTools.OpenSSH/HostKeyAlgorithm.cs +++ b/test/Renci.SshNet.TestTools.OpenSSH/HostKeyAlgorithm.cs @@ -16,7 +16,6 @@ public sealed class HostKeyAlgorithm public static readonly HostKeyAlgorithm RsaSha2512 = new HostKeyAlgorithm("rsa-sha2-512"); public static readonly HostKeyAlgorithm RsaSha2256 = new HostKeyAlgorithm("rsa-sha2-256"); public static readonly HostKeyAlgorithm SshRsa = new HostKeyAlgorithm("ssh-rsa"); - public static readonly HostKeyAlgorithm SshDss = new HostKeyAlgorithm("ssh-dss"); public HostKeyAlgorithm(string name) { diff --git a/test/Renci.SshNet.TestTools.OpenSSH/PublicKeyAlgorithm.cs b/test/Renci.SshNet.TestTools.OpenSSH/PublicKeyAlgorithm.cs index 24e577b79..73bc119f0 100644 --- a/test/Renci.SshNet.TestTools.OpenSSH/PublicKeyAlgorithm.cs +++ b/test/Renci.SshNet.TestTools.OpenSSH/PublicKeyAlgorithm.cs @@ -9,7 +9,6 @@ public sealed class PublicKeyAlgorithm public static readonly PublicKeyAlgorithm SshRsa = new PublicKeyAlgorithm("ssh-rsa"); public static readonly PublicKeyAlgorithm RsaSha2256 = new PublicKeyAlgorithm("rsa-sha2-256"); public static readonly PublicKeyAlgorithm RsaSha2512 = new PublicKeyAlgorithm("rsa-sha2-512"); - public static readonly PublicKeyAlgorithm SshDss = new PublicKeyAlgorithm("ssh-dss"); public static readonly PublicKeyAlgorithm EcdsaSha2Nistp256 = new PublicKeyAlgorithm("ecdsa-sha2-nistp256"); public static readonly PublicKeyAlgorithm EcdsaSha2Nistp384 = new PublicKeyAlgorithm("ecdsa-sha2-nistp384"); public static readonly PublicKeyAlgorithm EcdsaSha2Nistp521 = new PublicKeyAlgorithm("ecdsa-sha2-nistp521"); @@ -18,7 +17,6 @@ public sealed class PublicKeyAlgorithm public static readonly PublicKeyAlgorithm SshRsaCertV01OpenSSH = new PublicKeyAlgorithm("ssh-rsa-cert-v01@openssh.com"); public static readonly PublicKeyAlgorithm RsaSha2256CertV01OpenSSH = new PublicKeyAlgorithm("rsa-sha2-256-cert-v01@openssh.com"); public static readonly PublicKeyAlgorithm RsaSha2512CertV01OpenSSH = new PublicKeyAlgorithm("rsa-sha2-512-cert-v01@openssh.com"); - public static readonly PublicKeyAlgorithm SshDssCertV01OpenSSH = new PublicKeyAlgorithm("ssh-dss-cert-v01@openssh.com"); public static readonly PublicKeyAlgorithm EcdsaSha2Nistp256CertV01OpenSSH = new PublicKeyAlgorithm("ecdsa-sha2-nistp256-cert-v01@openssh.com"); public static readonly PublicKeyAlgorithm EcdsaSha2Nistp384CertV01OpenSSH = new PublicKeyAlgorithm("ecdsa-sha2-nistp384-cert-v01@openssh.com"); public static readonly PublicKeyAlgorithm EcdsaSha2Nistp521CertV01OpenSSH = new PublicKeyAlgorithm("ecdsa-sha2-nistp521-cert-v01@openssh.com"); diff --git a/test/Renci.SshNet.Tests/Properties/Resources.resx b/test/Renci.SshNet.Tests/Properties/Resources.resx index c392eb5c2..d723f295e 100644 --- a/test/Renci.SshNet.Tests/Properties/Resources.resx +++ b/test/Renci.SshNet.Tests/Properties/Resources.resx @@ -117,54 +117,9 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - -----BEGIN DSA PRIVATE KEY----- -MIIBvAIBAAKBgQDdQrrwGvknwD+pb9Gpv/vDxj8yqFUg0cUuC/tkjm3u+lQj86Rw -fA8RJOV+OP4Gtvs9zOSsxiuginoB/uEiT+6jbHvyvJeJp2fsDWLx/tVRXxpi8Nwe -bfb455R0wVVZdqnFKsAZLrQAT589EUtLgyVAFQbUP5Fz6px8H8AG0qlybQIVALn7 -UOxnbFR7fDfZkq2Pc7ZCVegpAoGBANRKf9vezuz1aGUnUGWILHO09SibHK255fkr -u4//zvCbdawWSZOoU+vMnplLUhNaVMoSyYE/TYOZvvbG9UtPvr8wZGdNPipvIXIB -xlpr+FH0mnSx0qlaRy3PEoDRAmw6msRCzVYV3vZ8ZTEUdt+phuru+pn0W9EugzCM -HikVVhJMAoGASHB5nNlWhpqvungn+otYyGKoVoATkRdRfSiUo3fb0mJLTmxrEhEH -4UOFA/UFdQ0TYXXW0wRX/amynT4iTEXAx0FjxUNK5ryxloeoXiXEH4FK7D8RtJO1 -1UsaRrN+nqWiSTVAehl6tzoMCPargGcWeFlAZZnPGN76OD9J1GiKZj8CFQCl8SkF -GWfS+mH8xhLsxh1nI7rfJw== ------END DSA PRIVATE KEY----- - - - -----BEGIN DSA PRIVATE KEY----- -Proc-Type: 4,ENCRYPTED -DEK-Info: DES-EDE3-CBC,053105DCFC6132E7 - -nVjIhJr3Eeqk0aBfyYK38B6cF0g35U2acgq5t3zG8fCM5JLSnFcmkkYvohbmCLva -swNHMfmwumoX8Ga94cxGu6vW1qf+IMvgEU4U53DtJqRoeICMwIre1yUq2cCrV+gI -qQ6MAVMDgfMs7HrPs5999m+KoDh7oYsA1l5q+axU/rqM4g3lySr/1oT6oAQx5Qp2 -2DYkZEwnX5+NTw6aoMXl2qgIHBVxa7wZRMp9L0yAlEFk8T7fMuPrLSAEUBghcIaP -iBY1OY+M9MgDTTU56ZjLl+DfT3XfKzsZ3fmn1+bLqTRreiuS4/WF6xIa/DQu1sQd -nnjYgnKYcTWSvWWK9AcIVSpoiW2y6FcPkMAIw54ABrzBp4Rz0//Ykwv2Ga7AZxxm -P+lkxKf2RWnh406FxBvBZzwB3rQeeM7QTg2IcFqGnlf005FIikp6SlyhZ/3M/Nl3 -FW235vuO37jLCL8qosGt4NOWAstXaxDujfIb/Q+IYxUpWZrdiH5tM/mUXARK0Sjf -D8DHbFwAT2mUv1QxRXYJO1y4pENboEzT6LUqxJgE+ae/F/29g2RD9DhtwqKqWjhM -7jB0kNVZrz3qUKnoJHIozA== ------END DSA PRIVATE KEY----- - 192.168.10.192 - - -----BEGIN DSA PRIVATE KEY----- -MIIBugIBAAKBgQCG3ij/JvdNp+1VUsK2zmLM5QWNN4MRRm/FCOHDknDJrWdSKheO -h6BbCgyFOw+k5qYtwXQnt3DpQfxPi7PIjr3tQJ9gB8LzqH2DwT2hMXm9VV2ImX2P -12aj8hZVM99WOp/ma6+ivLSFHnwET19eaqS9SRb0ftIqZXpWGE3ddW07qQIVAOfT -1OPSsvAnOsSrYc5HG5K3xIWlAoGAAzhTmi29+v0YTIsW2W1FihsexeAnpPPjYgRO -eT6HreyTvh20UASxDP+IJ2Ba+41G6MU0isuAijp8Z4CCC4RpoS46Ksc3JtPsZiRy -wAjwlb7JKGRBoY8V3aT47Xyx+iTSclZfzTmv0Z0bb56NZ6KEU8WRnks2d7tsb0fq -JTAgLkkCgYBvt5EoxhlCwEUgm8j3nD4TLSRYt1lt6LVulBYA9qlV4F68b2cJUuOi -YTV9H2SWRF6UF+GiR5SajChveS106T9O+tepip+7V5YgFfW+ALOxwar+6V8VoUF4 -xNvNTWtaw+wK8xsgxhhYDaWVhVLVhR40QmeQhx/BQm+EYkSSa9kkCQIURGd0R+Zj -tM7dZpB+reWl9L5e2L8= ------END DSA PRIVATE KEY----- - tester @@ -177,67 +132,6 @@ tM7dZpB+reWl9L5e2L8= 8123 - - -----BEGIN RSA PRIVATE KEY----- -MIIEogIBAAKCAQEA8ZsD8jgH7ySXnd4dprEFFkJ+zs1ne81E8febjR8hekiKrc+D -9GjeEykchy0PsrsBrf2F8J3GtLNISVerkl+EnVh1E0pi9Vllc1vcpQHvBeNPG/jl -9Dnum/DcaaMKLot+ARXjBuMX/xJVfnlgkvfpBvoq4QzQ6E27rOMbcPlvrN7KeYba -orsTpDMUraHX5u99P1evvw7sOuNl3lc9YpIgmjHT6dWUGTqBx9T2SEKXBRVk2NNb -d2UctQkr5BJn1gGehA+1KYS30FMiCSN8F8ZOlpYj1+K6xzs0srq1z30LailIyy7Q -mYp739BJlOF3cVywdcFXGre35H2cJylcNV2e+QIBIwKCAQAbnK/+bM207j02nQqz -9vlEX17zECkVdouJXiBn5kz4CEpdAcXwC/wfcmmpDHbSmQeBmVEi0DP3ZPJRhlzA -RW493jlECIBWjd+1aZWPM2vGKJtTp2q802u6DOX9cbgFUcVB899ugFqDjREVxLqU -dBqhtjDJQ0sTPBVy2CBkrsrvLy7AZd4LlaqxpdTdpkD/auUxg4zdThHT/XeQ0V0G -3BS5vGehfqgkDOQpQSm7HexM+9GDJnnzMdNXjmWBPxZU49QAlxujZeZ1M2IgKwMq -eNkWAOnZJidfsfwYluSCi8OHPN2i1s/b7pgn6ffb50S/k2mmhTHxNChDdGTlW91G -6CFLAoGBAPlGA4qzZCG4SLBQicGhhXZlwaKKfTvWNi4xNPZeoJezC0G+yZZT7IIV -zCj83t3dteaRRw15e+7NuIXZx3zl2hANfEpBZwnS4sOekvbS9/S7cEVzOEk53jRU -TOtHRsvNxS2xK3RywqoaqzcPaK2Df917yzbqvEajMRudRPrsTvYdAoGBAPggB/kJ -+VxZf13JqV2KgrFoVvykJpRlw2F5+lkH69ON9gdl976J3TNJDqAmHeWFxBUL+6Lt -9TSpMq3fYueJXg9xaTkSYg177sPRGCmRLO5aneA4nJkIB6KHRXsR71C9D4fJK8Fi -YB5n5dnBUTBhkvaI6KsxcxDzEg2zAJEcn4WNAoGBAOsHf66pI+VHWnpakINdxvqa -dL3TCFz9K8UnFK3G7y/x9Kuz4qOuNsPLaLjua7s+wXL+ASn2MwW6pqoWekKPkxZz -HWqVb8dvEFIKipDyzIepadsU3UxbIfbTI/PG3FnCAw3S7nUbvtrl8eN07arpsxKn -63zr81iLPO4mkX7ezhs/AoGADi23UA8y0hO+Ip3PKeqoYei0g3cYJbysFDLbGwfE -VTtP4ypl7aF6WrO3sWFDiXVbqW5mJpFBNjWN3gzD0rdkdek5NnYUO0jpEoD6EQD7 -QNH6ZJWFSpK+m5Kzg2AcTcGpHbO5W4H23SqCKbNGd8sPtlD3Wj1XCEhnbn9B3GgJ -HZMCgYEAjn9BH4fcobMaM15AV0s6sCEyr/vzn3QBfoIBqqqlipMqOtPDv8oyvGO4 -5tSpMrTKf4e3YAMPA4TXRAiVLjeRYlhdj3He0LkAuZZabrHeRmWqjDruMWd1TcKZ -3o8DLgYbSH7eGXUJ+euM4spKr5OLkBEkmH7Of6Qxss2njvjVNTE= ------END RSA PRIVATE KEY----- - - - -----BEGIN RSA PRIVATE KEY----- -Proc-Type: 4,ENCRYPTED -DEK-Info: DES-EDE3-CBC,B3475536EDD1B442 - -Xa6Y7FYTfz19CMzPcVbCpBHEh8x3tnA9PutKEDNMwKbR+NVUvBx5fN1QjrLpltCr -uX7yD3vLCeyihg4oaK3nTBZBcsB/1TZx+MlLgpvMfV1JKmbKCmebBZ3lUpsypHlG -FpCY41miFwdHmBe6tuwL9XA3vz26eJwSgJGMkVN9EBvNbiOHinEPhSW0whzBfbv+ -OfseG73gvHc4jZS6Sw8h5VDBAmlldJEfkP/s/1/iTbCXFQ22xRb4Z6NilEyKiWpB -nQviXmaucTWCEuNF5QDA7oV7Ugwm5cAXuBqFIs9ZGaKV4/XpfX1tClOLfB3Lguh+ -bbkwjPb0ztlhKa4gkwXiMs0S/lhoueXBae4QStM0qJBXHtFhhRYIn4JeIZ8CJ0k6 -SMP7QVfPf5aJIaa8t+SlpvtIFTIkEhTViOCl+udT04670DGwmJUgrJAV0r+/Ytf7 -Mi+m3DagN7gGmCvYo+7r7EBl1G6e3hCSYm0rFxGOBesmCWriRoeRpxirWnkrns57 -D57pEC1hg90IdycCGpiwqubGDKFljuMLiVd2w0onVhudShPszP+nJAaq18wUB+rE -mtBv+GlpqCITREB4lG2noP4r9P9lgrOTqmKvWjvUTQjfS3u0XO/1aQllKlwe97C7 -mfOxcZQWy5F7+9CiWpDpomW7Eso89ja6uyupw4Q4gsm7EUacqOOaVxHrm3MVhYjE -Bfk9I5agKFqeHdjBUUP0DQ6X7JUEtb/Ri8ZrFnyT8sBG7JYnMTXfjPQqdR493cp2 -hWI5reZLi4CCUqt4Pcmhm2vtwJz5HXChARPYq2C3DhdJHcdhxUr97rfTGE1w8mPY -JcwSFnNN47UBcDg6nvSfY3SJKV0gmmqz9fEw1pBoCrudJKw9U0vQrNoCEJOpEETG -4XojbAMsTr0Ps5fI2X1VbVYWtU1uyZxqF8KaTCTN1Paapmqaq4N+qIFrrXA+PTH+ -dyaMLmYJ263Gy5eNkCZMeWLDFZ9WHX/Zx2ERMXfI6fyGImXkb6E0Dia+bB087BZP -9C5gHAvZIjv+FosZrViFqDfrV5hDXL6bO3+V3zieemRxRCTvMtk+RXUJDd50qIOW -gKNcSbevLPOyQH7eQbR+fU4KtJDUigbTFunSn2MZkDl2GDDlKI35wUAVr5yGsJbE -yiIQe5DgLGZcMiEpqbhuqSfuOw0cUlFVyKeNZ/Hr701HWngLt677IY8ExyuNbBfT -PRaes+hcjJ1QmJoRHZx9rQ3w0IpezCpRkRLRKJzzuQZOuwd95whKFXroFsdeaHxO -hS4PqlLbuSMLiSIaPSZM6Huc4kb5lqCaxg/SBlXTCX17Z/8TFoqV/wCJz17XnkH6 -9WtKAC2TwKxiLZ2Qzwr2XV48lASugIOZkSW2qxM9ui+b1T9ICFKRGLn/UB//pOiG -270hNJDLB/BKRExjS+RXeOpdAIJB5XsAEp8h56ub9emhhf9tCEXOn7PN7HbMCnQh -7k8EpAG0h5StLUhY1HHvynVz2/qyMvZa/bIaaudL2565Z6nDU+iBxed7O1qrbRAH -Vakr7Sa3K5niCyH5kxdyO1t29l1ksBqpDUrj+vViFuLkd3XIiui8IA== ------END RSA PRIVATE KEY----- - tester