Created
December 7, 2018 09:45
-
-
Save darinkes/7e2cc25580b6dc247b8def92f1067ef7 to your computer and use it in GitHub Desktop.
SSH.NET EC Tests
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System; | |
using System.Collections.Generic; | |
using System.Diagnostics; | |
using System.IO; | |
using System.Linq; | |
using System.Text; | |
using System.Threading; | |
using Renci.SshNet; | |
using Renci.SshNet.Common; | |
using Renci.SshNet.Security; | |
namespace SshEcdsa | |
{ | |
class Program | |
{ | |
private static string ecdsa_key = @"-----BEGIN EC PRIVATE KEY----- | |
MHcCAQEEIDyJ1Hg/Id+AUAKlwNSOLlHrojMnydAzJ5j3wmsl5FssoAoGCCqGSM49 | |
AwEHoUQDQgAEUedgkjDm/dQdWjaA3UGPKYe/4PJVBbmdimmGpOaExP2YR9M41u9t | |
ksUyKH30yDB+VL/xry1+evy0CJEkJKw5WQ== | |
-----END EC PRIVATE KEY----- | |
"; | |
private static string ecdsa384_key = @"-----BEGIN EC PRIVATE KEY----- | |
MIGkAgEBBDCQawHdHLR7NvKa2vPV0sVkbzOE8c0enp95iEysGcGV66RXE1EH//nh | |
gu5UzeTR4KigBwYFK4EEACKhZANiAAQUk4rVvoOPI1hQzWpNx09Uo6qG+srGcbvB | |
q15eFK0GnK/T0UBKxdbZ2+//KAYI6SeDHM9t3ORF1aX5EpjTEBI4d7ZY/lV9jX6M | |
nJ4XuGteJselM2iMmy+p9ZYw83BYB1Y= | |
-----END EC PRIVATE KEY----- | |
"; | |
private static string ecdsa_521_key = @"-----BEGIN EC PRIVATE KEY----- | |
MIHcAgEBBEIBn2DAme7AU8sCA+/sd6s3c2FNW26IiPvulGd3FC8k5q+fjBZ5LUWR | |
iJMGrsf2rJLO8hXMGJYoF9tjZEGaabQ8KVagBwYFK4EEACOhgYkDgYYABABrpVjs | |
ANqcvqMUo1wo0I1uVCXQ6xrauy4iU86FiOwFmkYRrle4w3oYdRJwniC3TwGMuBuM | |
PMIoCTXr0UtUzn1vkQESNR/J/jAxVseLlVe+KDfZHKvsvk2+O4XaSa1qMfLwN3sp | |
wlj08+ylKjlO6V3g0hbz4ZaSVwuiRS7Xsv8W2MV6rg== | |
-----END EC PRIVATE KEY----- | |
"; | |
private static string ed25519_key = @"-----BEGIN OPENSSH PRIVATE KEY----- | |
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW | |
QyNTUxOQAAACD141sEeKI6fmZOnayMPr8lPYA2nzOgYS90Me9MB5a20AAAAJDtVPT77VT0 | |
+wAAAAtzc2gtZWQyNTUxOQAAACD141sEeKI6fmZOnayMPr8lPYA2nzOgYS90Me9MB5a20A | |
AAAEAdomU0VoQlcKrf28B5rpYUvpInKhFm7LhCPdSwNYx4MfXjWwR4ojp+Zk6drIw+vyU9 | |
gDafM6BhL3Qx70wHlrbQAAAAC3NyaW5rZXNATkVPAQI= | |
-----END OPENSSH PRIVATE KEY----- | |
"; | |
private static string rsa_key = @"-----BEGIN RSA PRIVATE KEY----- | |
MIIEowIBAAKCAQEAyt4C7sjRo3LvH1Kil4s+vwHJKiNvyZgz/NQccllQYBsuSLEI | |
X4nvGUXjnhLPtwPqU+k+qnDLFd9WhV8z1P5z3k82Ch0k4uFp+bVcmDmD+NE2XvdP | |
b2se1r2VXpQYXi1lyQ6R6TIEGxw86cPkp9vZRSQdAzXm2+9i5A58US3G3leEvEib | |
29nFph3DYPe/hm9nAJFc9isKPT6TsAjjVuk6Tg7mSxp+8yMA0IATbvZcXgfd+kYk | |
JGfr/3htOcE370qZ2qSc9Wwn0JI4qubcC6u6bgrJQ3kWZBWLDTx0LcjFk+dlI28j | |
u3hYF85PMnC0oqujfqLVuDK8vz3jQP6+NWe+fQIDAQABAoIBAFE5kvMIdOd8nUFt | |
VKxYlEbl8CVvCtMsnaQdSUZ/fC7+swln2HJoR9NWqEwiPAiLCMeQHAciIi4fvgSo | |
mZguSTY5gOmLwbkVh9jzRJ+uZ6i4G4zqeGOkADT6s1Oq+Ba9FoPp0YINBJfWNo1i | |
YarT26pTS0p9ynFE59Nn+V6HdZiPutb76rEO9Ya53d+7RLebuAZwza2cm8pDvqmL | |
HnQbPMPYd46SDvhWxqgZcZAvY123fXWA8dZU+ABVfUsHoVeMhK1NO0bF6YWfvEq9 | |
ARZ/neaxlsjb8RE3zHILDl/igifjj5GDG6FLaCzWYaE7JbuJ2B7eCAOzKfWHgSDz | |
BeZdkAECgYEA+ZOrcjLoUayMAX0pz19IWHeJQJMhYc35Tl7xwGEYzBq11lu5eFzg | |
ZHeEUNi/LWIV2e3/qARpe0a5Tryh5PfqhibV1N66RJm772RCEYl3cgv5bMUaA6hb | |
MnY/JsDoWZEVQvBA6T/wgPSrh/b0tl+uVVPNv/wRsklbXnjyXnQSXpUCgYEA0BaY | |
xpFHPhDVdXbqTfCDoE8wf/4ZLQzvBJAO8QQ8mPryFSx5tpBFvhNc6iRBS5QI2mYz | |
/mU8HXhNgNM9fH8LgkedDxLv2vwN1pkg7eiY7DlU0e7kIKdZRrLblM+tg6Lr0SLD | |
pEYTnIUt4EowX8Hmoq/sbrGPvKObbeih2UN8LkkCgYEA9h53I04qpmiHROyeb58i | |
JAP1uVWexOmvomak9zeJkbYBfhvEYnsM2ma2eFfW6DVjIR/AT3vSXbyX/5qr+LW3 | |
dIYVty/R9ta4a9KuCMdMoI5IcchJ6DN9g9zyWBBC0hjuI630BVGFplYiVhnmp3bh | |
38meDGbTOMN4tEiHkzfZ6aUCgYA7rS9VSxa+Yv+Et3zMq1xkXjGPk2TO+bWWfmX6 | |
kvd5/AXvMpkZVVjbARyVfZ5IOYUsdUEWBRxvay/28R3iFWFMlJMjXo/xInYphDLg | |
Z+NrY6nCpxs/jh7ZWrQEgmbFqLSufqTS+NHpAny8pSooXChzobZRrJSHSfhqVdwM | |
vgDgGQKBgAiVOCqiO7I1w43vYlJZf8aq8lowaufdNbSCyQV1AxIPxJuGr4dKCeai | |
X1Qmwei4KDRJs8W5IW8JPpIkGUYlvYeZsDq6XGFhVdpMN/cVkU9QKwkxvwigxCSc | |
MAPH8VDKRzOYk+UPhAqKZraOWnC8VXU1pJDIm9+9uACm4k4KVzxa | |
-----END RSA PRIVATE KEY----- | |
"; | |
private static string ed25519_pw = @"-----BEGIN OPENSSH PRIVATE KEY----- | |
b3BlbnNzaC1rZXktdjEAAAAACmFlczI1Ni1jYmMAAAAGYmNyeXB0AAAAGAAAABDqvzxGQ3 | |
OGc2pmsJy/DH78AAAAEAAAAAEAAAAzAAAAC3NzaC1lZDI1NTE5AAAAIH10Zz6sstqY3zEf | |
aqfmxV4aSf0QfMZO8eqcuojCnh7AAAAAkMz/OWbw1LdySEoZEkLOdnHhRSdRObmxbC7HtB | |
+U766cLZjTr4gQcpkDcvjiKcxKvOg12dgS1PIBskRJ1ooEJhtCtin+CmZZJWD4cIRWGCgt | |
PMuaYSKoCeRzwHoZ/GbhXCu7HHpycMVvGRBR1EZVlvbLsk8Uf3iXSeOzN/OILUuQIxKPVY | |
7SIg3DHvBcwygp5w== | |
-----END OPENSSH PRIVATE KEY----- | |
"; | |
private static string ecdsa_pw = @"-----BEGIN EC PRIVATE KEY----- | |
Proc-Type: 4,ENCRYPTED | |
DEK-Info: AES-128-CBC,9C80F8023EB28D07E756323C50214FF3 | |
207/t3daKXjetOeeZHOCjJ6t/Yqj5Uewq24QWF0xKwglQOI15//kRJzCev78ffEk | |
zGqtI6ZU/8ajYKuhgWDnIZmvOKzsSBv/LZ9DcTZuWrE8Yt/x9DUnaWywOy5QBnE2 | |
7CuIJ+tMHFCjGCHclQ6m9E1ygzU83QWLNfmhf5pCt60= | |
-----END EC PRIVATE KEY----- | |
"; | |
private static string openssh_rsa = @"-----BEGIN OPENSSH PRIVATE KEY----- | |
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABFwAAAAdzc2gtcn | |
NhAAAAAwEAAQAAAQEA7W7Oigi7Hj1msa2l8HimLPzagVmE/CseMKCRxPMTtWTvoZdMt7hf | |
kthWA7h20a7oSSeH2t7FqeOpVNGFYvRV3BVWsKZJMRcdJiTCZAjH38rYk90XvZ3mKrKN/3 | |
fcQsh4OiPnWqT6HSqg14oiV8UPtUwnE65skWSxvxt+ELlVpCqG5vE2O/GNDKQE7FzYt6vQ | |
ihMFSABBqjvau0mjX002KYiCMr6vgl8XYkDA4n5+JyQSQxznnfrL93ZoaqujRP2bT5UhXg | |
bzr8HFwuqQGvURECZTTI8Biv/6tOIn9x2hEaN6vxDLtXc99E2d6NW6cdriwaGFJ4jgVWDE | |
5mU006XdPQAAA8jzN6zf8zes3wAAAAdzc2gtcnNhAAABAQDtbs6KCLsePWaxraXweKYs/N | |
qBWYT8Kx4woJHE8xO1ZO+hl0y3uF+S2FYDuHbRruhJJ4fa3sWp46lU0YVi9FXcFVawpkkx | |
Fx0mJMJkCMffytiT3Re9neYqso3/d9xCyHg6I+dapPodKqDXiiJXxQ+1TCcTrmyRZLG/G3 | |
4QuVWkKobm8TY78Y0MpATsXNi3q9CKEwVIAEGqO9q7SaNfTTYpiIIyvq+CXxdiQMDifn4n | |
JBJDHOed+sv3dmhqq6NE/ZtPlSFeBvOvwcXC6pAa9REQJlNMjwGK//q04if3HaERo3q/EM | |
u1dz30TZ3o1bpx2uLBoYUniOBVYMTmZTTTpd09AAAAAwEAAQAAAQEA6Xgq+gppzOt9nrts | |
z5Ajf1tHlSesn7XaYuCRVgPb3mOZSuEW3BUdTa0Sr2fk1nzSBpUrfqnN3idyK2g3bD1sbB | |
RDgUKR+AaNcCN3TpxfxgyVeJhQLvEkEdovzQRUfwrXRfxmE3jkRGfVbvxylrG8p35xcmXy | |
del46r2i8dj8gIY3tKp0RMvZ4ZlNbhWHPd5OxyHWL9e3gbOSyIyjQgTKZezhzErS/X/KJ/ | |
XYqzyBAqNqZ2Rg1kKiHRlHS6KEI2tyFwYfh+Rb6L9xch1SqOtQhTWirmxS25dpGD2jgalX | |
eyiw8PmuqTiWCqUmUMx6MdF3tFsirr54K4QA9kqMeaRLtQAAAIEAsUQT0Uhq7l0ugTd4Y9 | |
89bH6eW0fol21/m7B5zkJQepNadUPTs188uvv4inW8n2O3RCanXWHZfCJ1AsR/MEEW2C6Q | |
DtvqKXHbzfWQlCYSVxB17CjURKa8fNaIAk98zgmNNwO53NBleyrUhPgvm3xt7ACgpzXY5R | |
wNJL8/a0WOmgwAAACBAP508Op6wWPAwn1JfBZuqQtjcfnJeN4NkYQBdybn0vVu5UdyqSQL | |
a8hlAzROhA+qJvrlsZgM9h8CyLTyuim8likZHocwO13zBTdVaQ8c2lJvf2uXTIXNZHseS7 | |
ITkfBiO1hSB4z8RDkOr35mGfdbyJIFAwFZF4Xs8WnQF+vHEadrAAAAgQDu329eCwVFf9g0 | |
zNHfZu31p0WtErcsRv57fq+UoPtov8nxUF71oOWe5KSGnGtMICI31kBtPhUbvfOmuqNrgJ | |
BjgjbPQmi0xSAE5L3QuEKRNjlaE3/WadKBwzhJDtauuYk1ifkrdAVp67XyQ5puyuGgVaQB | |
NPbrxA9g1IbyeL4/9wAAAAtzcmlua2VzQE5FTwECAwQFBg== | |
-----END OPENSSH PRIVATE KEY----- | |
"; | |
private static string openssh_rsa_pw = @"-----BEGIN OPENSSH PRIVATE KEY----- | |
b3BlbnNzaC1rZXktdjEAAAAACmFlczI1Ni1jdHIAAAAGYmNyeXB0AAAAGAAAABCoWhCSaG | |
psKT80oPIOAlqJAAAAEAAAAAEAAAEXAAAAB3NzaC1yc2EAAAADAQABAAABAQCxOfnmxC1g | |
mmX18LCBG/X73BoCXQEBEAJz3V9w0FMTgUBebK3fkfOMLNzWn5aMR608wQHOEPYhHffCJf | |
dJR6lUWLHZz5+EZRfM9oHpysMtToYQoGtb9xM7D5J3lnWZgSea2R7xSeqpClN5nQUMGu8y | |
2d2S3g9o1vrTdeu71u09QFOx2AXBPUmCjpCuBlNyYEEQMfRMtQ6PDbPdvLM1uylbQqB+/6 | |
jMsCyEFvlLit9GcZ7ItKQN+jsZNmP+f7ytVXLsZTjPLd5mWWrf6T1T1Xt9DBoLXnMrmDiC | |
f/EXiTYonIO6B0FHvNUCrDzZ7rxIebqePLes1Q2yoUqmC8g+cww3AAADwNRNGSnB7cRpgU | |
BxdyC0ofj0hUONXjmoT+OGPph9lgZMUnzcon9Z1bpsJuMoRXL14Cdbds7YPmw1YB94Uc+S | |
8QexLJG0wGel2yvzJhU+QFsLeVRS4tayERFXGCoVpu7RunEYy+hvaiX5CD+luEkiarfj9I | |
N8+9QUMhDYkELwWBV4rde18Vr8m1P1FuFgqikY0TfSKUGCkvjl4FvDxrxqsewaEkkzwRTI | |
PhOFCCM5jBPWE+uWVcwKoidvAqcNbmwIzDNZGwXtrAvYYzZa62C/MNLHuFU1weuJiM8sYa | |
6iKrk681BrrpGcSEZEXd41CFY3BWlIDTozrWn03xFlIpeLG2YMPcuYqFhR/41BJfa+fW5B | |
Ei0SuUx2xjdRiamqpPku4H6ulkjl0KlFCr976Y2V1JZMQh7bd0huubmf4P4poBk6ZgGpSf | |
snhcv1HjCVkvfA2yhOcXogzK2HOZgDS5sdSb/kUGURdjlj6ccSzc3OYaHAy9gZXj8Q58pA | |
4KrXTDlCJ9BTR8PIND54j6gMKu5ijX0TP9nJf/hG9GXx+Xss8T3xdPxdNBapPCcuxGZGJN | |
H+KFqrpmZYHm0evqFPS7BCUp2VvID6SMgrTYiH0IIbMHLStfdNchtn3EudMbW9vRhxg3Do | |
npT7Px2JYp87PNoHg2eOx0yGy9r81n2+Wi7SpGCWD8MFfxqd4JIQ8+zjrIRAA1q53uuSUh | |
m/hlmJWEjQWmcBw5bKrOU0CfGGoT3o6HWYRQ9d5+kKeoS+dOINxxf80G5b7vOrE3PbFxT3 | |
W8zwRd90Msr3LXgPaN0V4RJeBX38e0EvVbArL2MgSs/BC5aID0N0Sqiu+13AqqNYxj6RH2 | |
FA7FN+BBa16fvdi5h5kNnZUrQUKOAImjEE494O8uGKQImviGqB5PY6DJqHPTtn7RSwFx9E | |
rR7nbAZPTucIN/OIfURxTedhROk0PXjWnwpjuz+UpaMRWqgWTv3bLOuqorqMLibAFLRQEQ | |
6pR0wbmTpTfEW1jNmAohxB4N14YdSfhThzkCAgpQW6UCLc83y3EDzQFi5862a+2ixULKhK | |
220tZRk2GU7OFAPRpgQ/sxptGqZbNdOV80wk1MgykoFkoptRkm7bfJcdLHZnP7E6yU0ssP | |
rCbQlfD0/dD2QE/7HqxHsipNNuEagULjK6WUYXkpx1Siq2vecjZw8dNp7EBh+KlujEm+Dr | |
R7KFdFCw8DUwrzXwfMIogeRVbW8H0/fQEqsX5oPLTEOnNBjzf8pHush7CCrprbo0ZK3xFp | |
Vr3LUCoA== | |
-----END OPENSSH PRIVATE KEY----- | |
"; | |
private static string openssh_ecdsa = @"-----BEGIN OPENSSH PRIVATE KEY----- | |
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAaAAAABNlY2RzYS | |
1zaGEyLW5pc3RwMjU2AAAACG5pc3RwMjU2AAAAQQSP3ZTb37LFvSmKweu03A5s/cwcw3+3 | |
jL1LqQK6D929xY1J2J6S91LXOBpBfz4l+8Ng7sWhu9P/hF/wmB2QRygrAAAAqMq583bKuf | |
N2AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBI/dlNvfssW9KYrB | |
67TcDmz9zBzDf7eMvUupAroP3b3FjUnYnpL3Utc4GkF/PiX7w2DuxaG70/+EX/CYHZBHKC | |
sAAAAhALVqID3K/N7IazKNbhrg09r7rLLtjy81RLV+VDxloQnxAAAAC3NyaW5rZXNATkVP | |
AQIDBA== | |
-----END OPENSSH PRIVATE KEY----- | |
"; | |
private static string openssh_ecdsa384 = @"-----BEGIN OPENSSH PRIVATE KEY----- | |
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAaAAAABNlY2RzYS | |
1zaGEyLW5pc3RwMjU2AAAACG5pc3RwMjU2AAAAQQSP3ZTb37LFvSmKweu03A5s/cwcw3+3 | |
jL1LqQK6D929xY1J2J6S91LXOBpBfz4l+8Ng7sWhu9P/hF/wmB2QRygrAAAAqMq583bKuf | |
N2AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBI/dlNvfssW9KYrB | |
67TcDmz9zBzDf7eMvUupAroP3b3FjUnYnpL3Utc4GkF/PiX7w2DuxaG70/+EX/CYHZBHKC | |
sAAAAhALVqID3K/N7IazKNbhrg09r7rLLtjy81RLV+VDxloQnxAAAAC3NyaW5rZXNATkVP | |
AQIDBA== | |
-----END OPENSSH PRIVATE KEY----- | |
"; | |
private static string openssh_ecdsa521 = @"-----BEGIN OPENSSH PRIVATE KEY----- | |
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAArAAAABNlY2RzYS | |
1zaGEyLW5pc3RwNTIxAAAACG5pc3RwNTIxAAAAhQQAa7p4WVga+08qu160BrdzKyRNJMQC | |
eGhFluNdq73/uaW3qlqoEiaNtc5uB7HHyjCWQTmfzrSRLRZ7YBwUancwyh4Aq6gBgGsXVz | |
wNvY3kxRDlGrSfMmsHlXz41dgw9wm1fBcf97niexRQ/xGlhkyf7IYlQ/s5BpXF2lS9l0H5 | |
hBippRgAAAEI/9prf//aa38AAAATZWNkc2Etc2hhMi1uaXN0cDUyMQAAAAhuaXN0cDUyMQ | |
AAAIUEAGu6eFlYGvtPKrtetAa3cyskTSTEAnhoRZbjXau9/7mlt6paqBImjbXObgexx8ow | |
lkE5n860kS0We2AcFGp3MMoeAKuoAYBrF1c8Db2N5MUQ5Rq0nzJrB5V8+NXYMPcJtXwXH/ | |
e54nsUUP8RpYZMn+yGJUP7OQaVxdpUvZdB+YQYqaUYAAAAQXwQnI20tNxwLKHPMDmumblD | |
b0sBqW5Y9248L//x4sWFrkjk6k1LcZno9KLqz8+tIFMJ5sji+axRoUZCXb3cIPzPAAAAC3 | |
NyaW5rZXNATkVP | |
-----END OPENSSH PRIVATE KEY----- | |
"; | |
static void Main(string[] args) | |
{ | |
try | |
{ | |
var AuthKeys = new Dictionary<string, string> | |
{ | |
{ "RSA", rsa_key }, | |
{ "OPENSSH RSA", openssh_rsa }, | |
{ "OPENSSH RSA PW", openssh_rsa_pw }, | |
{ "OPENSSH ECDSA", openssh_ecdsa }, | |
{ "OPENSSH ECDSA384", openssh_ecdsa384 }, | |
{ "OPENSSH ECDSA521", openssh_ecdsa521 }, | |
{ "ED25519", ed25519_key }, | |
{ "ED25519 PW", ed25519_pw }, | |
{ "ECDSA", ecdsa_key }, | |
{ "ECDSA PW", ecdsa_pw }, | |
{ "ECDSA384", ecdsa384_key }, | |
{ "ECDSA521", ecdsa_521_key }, | |
}; | |
var runs = 1; | |
while (true) | |
{ | |
var rand = new Random(); | |
foreach (var authKey in AuthKeys.OrderBy(x => rand.Next())) | |
{ | |
Console.WriteLine("################################################################################################"); | |
Console.WriteLine("TEST-RUN: {0}", runs); | |
Console.WriteLine("Private-Key " + authKey.Key); | |
var privatekeybytes = new MemoryStream(Encoding.Default.GetBytes(authKey.Value)); | |
PrivateKeyFile auth; | |
if (authKey.Key.Contains("PW")) | |
{ | |
auth = new PrivateKeyFile(privatekeybytes, "12345"); | |
} | |
else | |
{ | |
auth = new PrivateKeyFile(privatekeybytes); | |
} | |
var coninfo = new ConnectionInfo("127.0.0.1", 22222, "user", | |
new PrivateKeyAuthenticationMethod("user", auth)); | |
var sw = Stopwatch.StartNew(); | |
using (var client = new SshClient(coninfo)) | |
{ | |
client.HostKeyReceived += (sender, e) => | |
{ | |
Console.WriteLine("Received-Hostkey: " + e.HostKeyName); | |
//Console.WriteLine("Hostkey-Bytes: " + BitConverter.ToString(e.FingerPrint)); | |
//e.CanTrust = true; | |
}; | |
client.Connect(); | |
//Console.WriteLine(client.RunCommand("hostname").Result); | |
client.Disconnect(); | |
Console.WriteLine("ALL GOOD!"); | |
} | |
sw.Stop(); | |
Console.WriteLine("Time taken: {0}ms", sw.Elapsed.TotalMilliseconds); | |
Console.WriteLine("################################################################################################"); | |
runs++; | |
Thread.Sleep(500); // debug sshd restart | |
} | |
} | |
} | |
catch (Exception exception) | |
{ | |
Console.WriteLine(exception); | |
} | |
Console.WriteLine("Press Enter to Exit!"); | |
Console.ReadLine(); | |
} | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#set -ex | |
tmpdir=$(mktemp -d) | |
key_formats="ecdsa256 ecdsa384 ecdsa521 ed25519 rsa dsa" | |
kex_mechs="[email protected] ecdh-sha2-nistp256 ecdh-sha2-nistp384 ecdh-sha2-nistp521 diffie-hellman-group-exchange-sha256 diffie-hellman-group14-sha1" | |
testconfig="${tmpdir}/sshd_test_config" | |
sshd="/usr/sbin/sshd -Dddddd -f ${testconfig}" | |
GREEN='\033[0;32m' | |
BLUE='\033[0;34m' | |
NC='\033[0m' # No Color | |
while true; do | |
for kex_mech in $kex_mechs; do | |
for key_format in $key_formats; do | |
echo "Starting SSHd - KEX: ${GREEN}${kex_mech}${NC} HostKey: ${BLUE}${key_format}${NC}" | |
args="-t ${key_format}" | |
bits="" | |
if [ "${key_format}" != "ed25519" ]; then | |
type=$(echo ${key_format} | sed 's/[0-9]*//g') | |
bits=$(echo ${key_format} | sed 's/[^0-9]*//g') | |
args="-t $type" | |
fi | |
[ -n "$bits" ] && args="$args -b $bits" | |
cp ${tmpdir}/ssh_host_${key_format}_key ${tmpdir}/ssh_host_${key_format}_key.bak | |
yes y | ssh-keygen $args -N '' -f ${tmpdir}/ssh_host_${key_format}_key | |
cat >${testconfig} <<EOF | |
Port 22222 | |
HostKey ${tmpdir}/ssh_host_${key_format}_key | |
LogLevel DEBUG3 | |
KexAlgorithms $kex_mech | |
HostKeyAlgorithms ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-ed25519,ssh-rsa,ssh-dss | |
EOF | |
$sshd | |
r=$? | |
if [ $r -ne 0 -a $r -ne 255 ]; then | |
exit $r | |
fi | |
done | |
done | |
done |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment