diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index b6f7ccd6..a882a473 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -19,3 +19,19 @@ jobs: - uses: gradle/wrapper-validation-action@v1 - uses: gradle/gradle-build-action@v2 - run: ./gradlew build + + os-integration-test: + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-java@v3 + with: + distribution: temurin + java-version: 11 + - uses: gradle/wrapper-validation-action@v1 + - uses: gradle/gradle-build-action@v2 + - run: bash os-integration-test/generate-keys.sh + - run: ./gradlew :os-integration-test:build + env: + SSH_PORT: 22 diff --git a/os-integration-test/bin/.gitignore b/os-integration-test/bin/.gitignore deleted file mode 100644 index 06e4d12f..00000000 --- a/os-integration-test/bin/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -/test/ -/main/ diff --git a/os-integration-test/build.gradle b/os-integration-test/build.gradle index 54e1fc0c..147b5092 100644 --- a/os-integration-test/build.gradle +++ b/os-integration-test/build.gradle @@ -14,9 +14,12 @@ dependencies { } test { + useJUnitPlatform() mustRunAfter ':server-integration-test:check' } +test.enabled = System.getenv('SSH_PORT') != null + task startSshAgent(type: Exec) { commandLine 'ssh-agent' standardOutput = new ByteArrayOutputStream() diff --git a/os-integration-test/etc/ssh/id_ecdsa b/os-integration-test/etc/ssh/id_ecdsa deleted file mode 100644 index b69b3f5c..00000000 --- a/os-integration-test/etc/ssh/id_ecdsa +++ /dev/null @@ -1,10 +0,0 @@ ------BEGIN EC PRIVATE KEY----- -MIIBaAIBAQQg2d776WhdQFfLXan9bhU/bcSaf6HZAv27Js851vDZMImggfowgfcC -AQEwLAYHKoZIzj0BAQIhAP////8AAAABAAAAAAAAAAAAAAAA//////////////// -MFsEIP////8AAAABAAAAAAAAAAAAAAAA///////////////8BCBaxjXYqjqT57Pr -vVV2mIa8ZR0GsMxTsPY7zjw+J9JgSwMVAMSdNgiG5wSTamZ44ROdJreBn36QBEEE -axfR8uEsQkf4vOblY6RA8ncDfYEt6zOg9KE5RdiYwpZP40Li/hp/m47n60p8D54W -K84zV2sxXs7LtkBoN79R9QIhAP////8AAAAA//////////+85vqtpxeehPO5ysL8 -YyVRAgEBoUQDQgAESZT7K4plmvEATrWFhPWybRw4ptSJ7l3rXNc/Dh6GBaLDJli0 -SYf6kOaH8xl/EHpbxBTE6P8KVJga1uesO4WbVg== ------END EC PRIVATE KEY----- diff --git a/os-integration-test/etc/ssh/id_ecdsa.pub b/os-integration-test/etc/ssh/id_ecdsa.pub deleted file mode 100644 index 49c65172..00000000 --- a/os-integration-test/etc/ssh/id_ecdsa.pub +++ /dev/null @@ -1 +0,0 @@ -ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBEmU+yuKZZrxAE61hYT1sm0cOKbUie5d61zXPw4ehgWiwyZYtEmH+pDmh/MZfxB6W8QUxOj/ClSYGtbnrDuFm1Y= diff --git a/os-integration-test/etc/ssh/id_rsa b/os-integration-test/etc/ssh/id_rsa deleted file mode 100644 index 47071143..00000000 --- a/os-integration-test/etc/ssh/id_rsa +++ /dev/null @@ -1,27 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIIEowIBAAKCAQEA78p/+WebOE48aQkyU9HLCezHgEXIVs6aXKH0rgBmlnmNIEf7 -y8TWdQ7qQT1esexhmGSpCj/p9iSfeWTv0wG7T0H66toUtuB7ZlV3iEDYXSeYBYKZ -b+cABDhl9bfFcuLR5XDBrTGKfibyLqfGIh1uronPUDGhOf90Ng6G5ZQEK9e8g4BF -PXGrUe9BSqorHppTlGmHPSkFmt4GfHeqx7X2gCNR5yulO6x/Wc15no8r0rejYU+4 -kNsiTBdBzqXUJpw6sSa+Yznlq4H9E28FtADd0166ixaVHctgwlhdFxDDmi2YSDTF -dcsUoWAFM4am5z9L6CqCr/CGkhv4bSSgFSF5/QIDAQABAoIBAFKaP1t7BU1wJf9I -271kF71jg5X8c/bzVNl0MQV/vdc4KBVmtqaLOBU6/hdbPLOt6jDE/DY7rizMkOMQ -kkzt28iBwh4E4f3ddqTZ7ENTkzUD3qqHQrP5r1fE1dq/Y5Uf7Y5MOWugFUU/xU2t -HePCn84gSvolHpUMGsxEVNPhGU7AZ8RBXLYi27ha3OWCqusDJJbQEYRO1xm+SV2t -OzybhEEwYTwmNkPC/1pNyRu3zoG1h+tGR2t1yOK1n35ygRiL0lxDHmJ19sRxJ1vn -jKAKU8hnjG1L/uQxVpleOt5TQhIq7wWLL7jO+EMYu5w+iptHGeRs+j/15jY3LFus -V/3v+UECgYEA/MEKUzgl34YN8jMBS3/rzvp+C/4U0nUMyM5+SLa4slYxtL5QbLLu -dPXUTlFSXxUa8OypzM0HqyyWzvXFiQ05Te63wS83rds9/ox6WHAfcwFnkJLIuqCR -N2dNbD0fLV2ixtjNJLsPmVL3upY9/rSYLz9uvw/7/nW/O3AzpVaSbssCgYEA8t7X -i21C4oeWUXJhYnVWWMNqNSoHXsaBMcA5U82aA24cCpoqqRcPpkVYBOlwksGOzJKa -0rUpaiUknoaqO17o4Q5kKfQYbfGPJ5BnED2iDeVufbyEgfLK0lQX9LNR7Cxtxos6 -wSkOvyNllauu6CHCoYSM+EZTiCekAv0GKlgkGVcCgYB9skLAQBwVnUUyPctXELbk -qA4nSKRyRWOmOYrz/mq7xcHScRLt+846vEZo7GhagNR1HD0VbKFzrykQo4kpLzpg -V2dq22CFRZL/FD2D3b7GItyuOVE5/sA5HVaTjZIDrZ1V5lue+Kg5R9mLIUyTbpyA -YrtgqUJYuZXwqUwF3ZfVIQKBgCpxcR+nl4G5Cjbvkz8+nDlk5SGnV6Rjcl58ZkhT -7O9ehb4AlSX5pr167tfk58xt0QPFNxNNn5AyL4UYqZU4j+AMwMpoIwDLryXN4YUA -EFr3VmjY0htXj8RT99/GmrF4TjLdUAZDo5UZnX4bg7SDedz6KhyVRbHMo6f2CebK -gnx/AoGBAPMFUEa5Tgq7V4XgW6PLHA3SfXj7yNrE72V3aAVkVgkuGAbiOH08cOOF -j9GBq+5NyawyVmVeOe9c/vZG8tPeEFl4550x7n69iCfl7Jaraf1JJF9aEDZprIqE -w6LAtQVE3oH8HvbUEx6dNTMwo5e82tVei8PS1ez6qPfB9CiEns7S ------END RSA PRIVATE KEY----- diff --git a/os-integration-test/etc/ssh/id_rsa.pub b/os-integration-test/etc/ssh/id_rsa.pub deleted file mode 100644 index 5e52889f..00000000 --- a/os-integration-test/etc/ssh/id_rsa.pub +++ /dev/null @@ -1 +0,0 @@ -ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDvyn/5Z5s4TjxpCTJT0csJ7MeARchWzppcofSuAGaWeY0gR/vLxNZ1DupBPV6x7GGYZKkKP+n2JJ95ZO/TAbtPQfrq2hS24HtmVXeIQNhdJ5gFgplv5wAEOGX1t8Vy4tHlcMGtMYp+JvIup8YiHW6uic9QMaE5/3Q2DobllAQr17yDgEU9catR70FKqisemlOUaYc9KQWa3gZ8d6rHtfaAI1HnK6U7rH9ZzXmejyvSt6NhT7iQ2yJMF0HOpdQmnDqxJr5jOeWrgf0TbwW0AN3TXrqLFpUdy2DCWF0XEMOaLZhINMV1yxShYAUzhqbnP0voKoKv8IaSG/htJKAVIXn9 diff --git a/os-integration-test/etc/ssh/id_rsa_pass b/os-integration-test/etc/ssh/id_rsa_pass deleted file mode 100644 index a41e6d04..00000000 --- a/os-integration-test/etc/ssh/id_rsa_pass +++ /dev/null @@ -1,30 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -Proc-Type: 4,ENCRYPTED -DEK-Info: AES-128-CBC,849C5178C9A9417A297428134CEAA4A5 - -WhtJT/g5q1Sz27hvJXOa9RWRakWYj3Ndi2/dpxWdXaWxoNaZkJr3xxqeegG797ze -gLlQlPFZRJU9KGS3+JxLxV9lyRr16hHllWtg1gOOMniYMafoabK2lxOYzLsc2jUq -5B1XqKDgwHfI9Jg1dCvZsyac+c6vv7BkzrwVVZj92C4IZl/YtmWKkNXOEbyJKNoq -ONGoHV3DhVQbTK1qELMyh+H7CQCZdLPjwSn5X88x/wQeSpTvy3oOdcYwYXDeQfoM -n87yxnc4Rw/pOj2HL0SXqx+FAzi3HW3ZIqL0JDfXhJPnSVTukkKhPsx1lljSgQcz -ERTHlU2M+arXfUK+nnyw5wdqiTmXG2mhjGhN1wSfNZnlFTZDYAUVMlZ4I4WnlFJ2 -CyzlI1cP5heNS/+Pa5dDvTyeHOG/ciOeyAtn4F/lqv3muayjKLG2dIq6xni4yNZp -/ZrAkH2zsHtBB7yzrRi7/Nh6n3YezTS/yR7kqlTKEByr2JccXdmUTNf1H42H+iOH -4qekj7Qo/qOo1YwANKomkci6zEf6/EUDVvyl0P8GGh/0X6QI2o12ZOLVW4m+TD+Z -IB4Nfl8QHTTfD6rkJUgIAjdqxY5nBhaFRKwsMLJx4Vstx4LIO5qHlRTYXViIt2DC -eBmvxvJ5p9pRXidt6r02JcXckJ+LxWWZDViS8RPG1qsYxpCgwGcBrPMc3MZKAHxu -/V61PzTdZ3e61Us7touIm6cRfa48gC0vOK86pLbAd1GyJxm/F5GwsuPNdYguw5TV -sLnTPZEehdDmxadsU5fjwjbf5+85LmLj/tRKvtM10avhv/Z4lIjF8AEv16I9kzKE -rd+F/sj2jpVXH3alkuCc5GCh8Pk/LTSothvElfwneiNDsQloROaW3Lz8RFOalkvs -qxc8p4VrHkotp5Y96exNqS6xmojTCuX5r8ZIdmJZMo4DRWbQtNHdk2tJwlLIxTIH -KjQHzBHLoeSGJOZjLbrk6y7m+9LZvkb6HksiYksGQ6WBxcEn/UYZssGHkmvo/UrN -OvMSzUP091zkA23t6LtCPH00VXBTvNWWKPtPE+ySJEmu2cyG8Y7bGqV58SYM/aKs -+zzfngYnqdg06D3V1r1tnoKWwEdNua/rYOEIeu5zvzMUAQDqPc6Tfjj1aBsAtTJv -vTEWWIrtrC8Edjj3dOF4S0fZNtD4mqzfx4n4elFjvJq9u6cC+Ull36vSe2oINRiF -DSpT+3MZDMapqaDdxSqJ/waKRrkUzXivSJZ1o4reu/TMtB5WdL8839PNURoQFNpK -lqDxB7YzuqAgQugF1NtjEOPYaR5KLBO0NjSSa/AqQ8LIAEBUDbmX7+Dl5xfXX1gk -NLtZ9sccXPoKONn0V8Q0NuCvquci1M3pdMNtXXXrfQDgRfaWOev2zB+62tuaab1n -DOB91WXGPREceJqX56W035BKt+5m3dDyQHX12pL3vD0uWW222nSF3Bm0rFPjZQuV -1so1D/HSnUifLbAKoICmSpwhF62S5Ygfb5RKbqP5sp24Q3jtt/v0Bc+YuOCaSOR7 -yQSEEaV4SNdjPIOR+9qe1qlGfCAqQRxrVfKTP5k1Yp4Hhf+jF0AQQx2I4Ctox0Qf ------END RSA PRIVATE KEY----- diff --git a/os-integration-test/etc/ssh/id_rsa_pass.pub b/os-integration-test/etc/ssh/id_rsa_pass.pub deleted file mode 100644 index a7e678bd..00000000 --- a/os-integration-test/etc/ssh/id_rsa_pass.pub +++ /dev/null @@ -1 +0,0 @@ -ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC1xN7CzvOi8IOUqXs+y7BvCwr52enPvcaObR5ymVMZKwPiXXqNKOnvQsKv23JxSOfoHS7WeWqTCkxrawsTSB6ZO7qy6AHxF1qa26KGuwkgbAa7wZIAQtrAH/li04jllxDKYdcriq76poVVvK76q6ASxAy76eboWDrABBXhNWD1pHZj5pE0vKpdGRnAqe/vWIkkmJLy5cVwcrKz8RThtTYv1w5Wuzp2z4W7+O9oFXvYr76lztxLSMtgGcoM6hRUdn+CfBP4aN8LBr0MnvAcQec2aZUOEBFl8q73ZRQ10SmZciIaLEBI/MrB0Oa/TY48/FcQjwaFmQdyp2AIG/tQdzmx your_email@example.com diff --git a/os-integration-test/etc/ssh/known_hosts b/os-integration-test/etc/ssh/known_hosts deleted file mode 100644 index e0198bf3..00000000 --- a/os-integration-test/etc/ssh/known_hosts +++ /dev/null @@ -1 +0,0 @@ -localhost ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBNvZCmB74GsbDpIp+LaVPO5tQ9LkViA4YkE5XciA0Yk4/ir6VBlXgpAKr5eC0Owvc7EA4XJr+xrd00j3RKHlleg= diff --git a/os-integration-test/etc/ssh/ssh_host_dsa_key b/os-integration-test/etc/ssh/ssh_host_dsa_key deleted file mode 100644 index 2321da48..00000000 --- a/os-integration-test/etc/ssh/ssh_host_dsa_key +++ /dev/null @@ -1,21 +0,0 @@ ------BEGIN OPENSSH PRIVATE KEY----- -b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABswAAAAdzc2gtZH -NzAAAAgQDB5zSCWJEMYMspTanQt0tRR4JhDaDASR+RL84DfQX7Q1XuPG2YpHslB2G0D530 -4xPG7KdbpaTH3zZS8e6WfGKahtSX0+gUZWwpECin/UZdjDiXNz6XJ1ZEoCRLkid+yArXi6 -3BcDcNoPPNwyyMpvR9kNmGprh9G7qUtWDMYNul0wAAABUAjde0V4ohDO7KYPO4drK3AuIm -vfEAAACBAMBFlUuR/RekINTvSbl1+5/iHYv4BULhCSYtTNuOMfidizLIYTDd0uzDxGZwf3 -SumhU6j74ew221mBK9C6y0m3v6lcOfa6M+QGrmaI2ciXDSmpxZYdT+RDpMcOZsURAY087F -hxXbLSjCnBzfBfx8vJLOCaQs5qy6HAVm34z8YNeqAAAAgQCWuDOZWIaKghws6Pa6yoyZA9 -MMyhgV7HM6KQnAP0XQ+33dRsUVsiCgtgBL/uImkFtOJhrsHEA0pHOG4Cor9Hzyo4Ur57ln -7kR2IUxhPKm4OyW3meH4gcAVBN1jYnmwZqRgF+7hi6tZNhEzr7VG6N92LpAQ+6Rao4QEAo -m8DnT5yAAAAfDnggvs54IL7AAAAAdzc2gtZHNzAAAAgQDB5zSCWJEMYMspTanQt0tRR4Jh -DaDASR+RL84DfQX7Q1XuPG2YpHslB2G0D5304xPG7KdbpaTH3zZS8e6WfGKahtSX0+gUZW -wpECin/UZdjDiXNz6XJ1ZEoCRLkid+yArXi63BcDcNoPPNwyyMpvR9kNmGprh9G7qUtWDM -YNul0wAAABUAjde0V4ohDO7KYPO4drK3AuImvfEAAACBAMBFlUuR/RekINTvSbl1+5/iHY -v4BULhCSYtTNuOMfidizLIYTDd0uzDxGZwf3SumhU6j74ew221mBK9C6y0m3v6lcOfa6M+ -QGrmaI2ciXDSmpxZYdT+RDpMcOZsURAY087FhxXbLSjCnBzfBfx8vJLOCaQs5qy6HAVm34 -z8YNeqAAAAgQCWuDOZWIaKghws6Pa6yoyZA9MMyhgV7HM6KQnAP0XQ+33dRsUVsiCgtgBL -/uImkFtOJhrsHEA0pHOG4Cor9Hzyo4Ur57ln7kR2IUxhPKm4OyW3meH4gcAVBN1jYnmwZq -RgF+7hi6tZNhEzr7VG6N92LpAQ+6Rao4QEAom8DnT5yAAAABQcGgS2uRxbrfvcxPwmL/Mq -JOcO3QAAABVoaWRldGFrZUByYWJiaXQubG9jYWwBAgME ------END OPENSSH PRIVATE KEY----- diff --git a/os-integration-test/etc/ssh/ssh_host_dsa_key.pub b/os-integration-test/etc/ssh/ssh_host_dsa_key.pub deleted file mode 100644 index f83c593b..00000000 --- a/os-integration-test/etc/ssh/ssh_host_dsa_key.pub +++ /dev/null @@ -1 +0,0 @@ -ssh-dss AAAAB3NzaC1kc3MAAACBAMHnNIJYkQxgyylNqdC3S1FHgmENoMBJH5EvzgN9BftDVe48bZikeyUHYbQPnfTjE8bsp1ulpMffNlLx7pZ8YpqG1JfT6BRlbCkQKKf9Rl2MOJc3PpcnVkSgJEuSJ37ICteLrcFwNw2g883DLIym9H2Q2YamuH0bupS1YMxg26XTAAAAFQCN17RXiiEM7spg87h2srcC4ia98QAAAIEAwEWVS5H9F6Qg1O9JuXX7n+Idi/gFQuEJJi1M244x+J2LMshhMN3S7MPEZnB/dK6aFTqPvh7DbbWYEr0LrLSbe/qVw59roz5AauZojZyJcNKanFlh1P5EOkxw5mxREBjTzsWHFdstKMKcHN8F/Hy8ks4JpCzmrLocBWbfjPxg16oAAACBAJa4M5lYhoqCHCzo9rrKjJkD0wzKGBXsczopCcA/RdD7fd1GxRWyIKC2AEv+4iaQW04mGuwcQDSkc4bgKiv0fPKjhSvnuWfuRHYhTGE8qbg7JbeZ4fiBwBUE3WNiebBmpGAX7uGLq1k2ETOvtUbo33YukBD7pFqjhAQCibwOdPnI diff --git a/os-integration-test/etc/ssh/ssh_host_ecdsa_key b/os-integration-test/etc/ssh/ssh_host_ecdsa_key deleted file mode 100644 index 01deac93..00000000 --- a/os-integration-test/etc/ssh/ssh_host_ecdsa_key +++ /dev/null @@ -1,9 +0,0 @@ ------BEGIN OPENSSH PRIVATE KEY----- -b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAaAAAABNlY2RzYS -1zaGEyLW5pc3RwMjU2AAAACG5pc3RwMjU2AAAAQQTb2Qpge+BrGw6SKfi2lTzubUPS5FYg -OGJBOV3IgNGJOP4q+lQZV4KQCq+XgtDsL3OxAOFya/sa3dNI90Sh5ZXoAAAAsOBC60DgQu -tAAAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBNvZCmB74GsbDpIp -+LaVPO5tQ9LkViA4YkE5XciA0Yk4/ir6VBlXgpAKr5eC0Owvc7EA4XJr+xrd00j3RKHlle -gAAAAgQhtKq9f2GGDeivbuZ3tPKWtzabtWWkBBMCP79B1WIhcAAAAVaGlkZXRha2VAcmFi -Yml0LmxvY2FsAQID ------END OPENSSH PRIVATE KEY----- diff --git a/os-integration-test/etc/ssh/ssh_host_ecdsa_key.pub b/os-integration-test/etc/ssh/ssh_host_ecdsa_key.pub deleted file mode 100644 index 46a65f1c..00000000 --- a/os-integration-test/etc/ssh/ssh_host_ecdsa_key.pub +++ /dev/null @@ -1 +0,0 @@ -ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBNvZCmB74GsbDpIp+LaVPO5tQ9LkViA4YkE5XciA0Yk4/ir6VBlXgpAKr5eC0Owvc7EA4XJr+xrd00j3RKHlleg= diff --git a/os-integration-test/etc/ssh/ssh_host_ed25519_key b/os-integration-test/etc/ssh/ssh_host_ed25519_key deleted file mode 100644 index 5a5980e5..00000000 --- a/os-integration-test/etc/ssh/ssh_host_ed25519_key +++ /dev/null @@ -1,7 +0,0 @@ ------BEGIN OPENSSH PRIVATE KEY----- -b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW -QyNTUxOQAAACAg0uc6mInMIv6tF/4rYU5Tn/VBZ0Wp7HSzBqMQDLwPqgAAAJi6uxPeursT -3gAAAAtzc2gtZWQyNTUxOQAAACAg0uc6mInMIv6tF/4rYU5Tn/VBZ0Wp7HSzBqMQDLwPqg -AAAEDtQZ8yklhUquVEgewNF+kCFYADJ5vOQqrAfqWZ1XpiryDS5zqYicwi/q0X/ithTlOf -9UFnRansdLMGoxAMvA+qAAAAFWhpZGV0YWtlQHJhYmJpdC5sb2NhbA== ------END OPENSSH PRIVATE KEY----- diff --git a/os-integration-test/etc/ssh/ssh_host_ed25519_key.pub b/os-integration-test/etc/ssh/ssh_host_ed25519_key.pub deleted file mode 100644 index 75cd3840..00000000 --- a/os-integration-test/etc/ssh/ssh_host_ed25519_key.pub +++ /dev/null @@ -1 +0,0 @@ -ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICDS5zqYicwi/q0X/ithTlOf9UFnRansdLMGoxAMvA+q diff --git a/os-integration-test/etc/ssh/ssh_host_rsa_key b/os-integration-test/etc/ssh/ssh_host_rsa_key deleted file mode 100644 index 4ce54ec5..00000000 --- a/os-integration-test/etc/ssh/ssh_host_rsa_key +++ /dev/null @@ -1,27 +0,0 @@ ------BEGIN OPENSSH PRIVATE KEY----- -b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABFwAAAAdzc2gtcn -NhAAAAAwEAAQAAAQEAvQA/tTTYSOslnkBwHcQ3dQ+09adHECgRQk0y9+3PZv4EQaN48MzF -hlqjLM8RUfKnoIVp3yHdo0uEZaDYWD5nyePSnOihIV0sx5gOoJdGhzligcQnhhC2EKoBOy -u23NnT7Qx+ObgLxZYD28rsYD5WREp5Xj8Lv7BdQzuH3z+4l0CTOrSYok2dP+InqMBBiR+k -k1UXOqcD6YeipIuzlrhqOceN07zON/dm9RGOY040So3mCKcn0TJ2wYB+bHLkimC6kgaiCy -TWIGI/7yiwTuYDJYhAqCTPaaABoz6k4LdDr9+7mjTADRQseFf7VcKFT7kiSfbrUNSkGxKQ -+Mw/w7EfgQAAA9Cj8Rn7o/EZ+wAAAAdzc2gtcnNhAAABAQC9AD+1NNhI6yWeQHAdxDd1D7 -T1p0cQKBFCTTL37c9m/gRBo3jwzMWGWqMszxFR8qeghWnfId2jS4RloNhYPmfJ49Kc6KEh -XSzHmA6gl0aHOWKBxCeGELYQqgE7K7bc2dPtDH45uAvFlgPbyuxgPlZESnlePwu/sF1DO4 -ffP7iXQJM6tJiiTZ0/4ieowEGJH6STVRc6pwPph6Kki7OWuGo5x43TvM4392b1EY5jTjRK -jeYIpyfRMnbBgH5scuSKYLqSBqILJNYgYj/vKLBO5gMliECoJM9poAGjPqTgt0Ov37uaNM -ANFCx4V/tVwoVPuSJJ9utQ1KQbEpD4zD/DsR+BAAAAAwEAAQAAAQEAhfWOMi6ReiWJFUCQ -9tgjgooudcspmC7+BKNZE9dvoI08kRV/3BUXj6HgdBsUKKQ34ZOONcP4JwyYe7vke69Hux -YKKoLL6izzV0jUXUi7iY7H3jgc124yzV7h3oGea6zNBABN2zUyysoIVBnhLlogpOiwW3eO -KUCk6clhBYBRoom/OpCnvx0K6RW2m9rmj9IdSt5XkIqR+e4idP4f4FMIUprX2fUbCtpyvz -1bC3B19dhLqi1hnQKHw8UAQIUXzwSlgSmbf/KO56Lm4kN4KsIOiG8jjRqe8y2Zz40j3jfP -ERdjh3Gx8opRb2iSZO2N48dltm+iPHe/pSvNGdz1ZfQAAQAAAIEAt+/7p7AI1vKBHtB8ra -iG8ShaFRD32i5rILVI+UEp7NKi48Xm36LLbxgJZwNGsF4DGcimMfdjyHy7J1aB6BleuKUX -iHRQFus26iU6jW7pqSIG9UAEONxO2smv8AjpU9t6oWmWj91osiuykMWcKrnKYgR7tB+BsS -hIVqJagkn1jdwAAACBAOkRQheAz7c8hDnz3nnTBF0fACL8/yH4igChrYA29L1EdKgH1FwW -RZIix6ROxZunYlbbdLhx2XXJnu07ffROVNku6bBK+XIHyrQlrUEU4xmKzwbmh2sBv78T6u -WqmEj/YfIx7aX0G+i5GWfPhKdwvMJI1ZATEv7OVGo2DO6HoFWBAAAAgQDPmP/yfdxCxtWK -GY1MANtFh/b2xWgSPRasbTg3L3LEk2I3WiQPcARTLv9O02ZNrwBSPJ33BF5GEkUcK13WI3 -P3ns3YHA031EPwQrF1T0iHN024EkDl0KKUMjobSOeoC1RmXHuJ6Do3lHHNxlvrkIKw3YxV -92rSZ1v9fq2p3xnKAQAAABVoaWRldGFrZUByYWJiaXQubG9jYWwBAgME ------END OPENSSH PRIVATE KEY----- diff --git a/os-integration-test/etc/ssh/ssh_host_rsa_key.pub b/os-integration-test/etc/ssh/ssh_host_rsa_key.pub deleted file mode 100644 index 30600c30..00000000 --- a/os-integration-test/etc/ssh/ssh_host_rsa_key.pub +++ /dev/null @@ -1 +0,0 @@ -ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC9AD+1NNhI6yWeQHAdxDd1D7T1p0cQKBFCTTL37c9m/gRBo3jwzMWGWqMszxFR8qeghWnfId2jS4RloNhYPmfJ49Kc6KEhXSzHmA6gl0aHOWKBxCeGELYQqgE7K7bc2dPtDH45uAvFlgPbyuxgPlZESnlePwu/sF1DO4ffP7iXQJM6tJiiTZ0/4ieowEGJH6STVRc6pwPph6Kki7OWuGo5x43TvM4392b1EY5jTjRKjeYIpyfRMnbBgH5scuSKYLqSBqILJNYgYj/vKLBO5gMliECoJM9poAGjPqTgt0Ov37uaNMANFCx4V/tVwoVPuSJJ9utQ1KQbEpD4zD/DsR+B diff --git a/os-integration-test/generate-keys.sh b/os-integration-test/generate-keys.sh new file mode 100644 index 00000000..dc507754 --- /dev/null +++ b/os-integration-test/generate-keys.sh @@ -0,0 +1,20 @@ +#!/bin/bash +# Generate key pairs and known_hosts. +# For GitHub Codespaces, set SSH_PORT=2222 + +set -ex +mkdir -m 700 -vp ~/.ssh + +# user keys +ssh-keygen -t ecdsa -N '' -C '' -f ~/.ssh/id_ecdsa +ssh-keygen -t ecdsa -N gradle -C '' -f ~/.ssh/id_ecdsa_pass + +# authorized_keys +cat ~/.ssh/id_*.pub > ~/.ssh/authorized_keys + +# known_hosts +ssh -v \ + -o StrictHostKeyChecking=accept-new \ + -o HostKeyAlgorithms=ecdsa-sha2-nistp256 \ + -p "${SSH_PORT:-22}" \ + localhost true diff --git a/os-integration-test/run-sshd.sh b/os-integration-test/run-sshd.sh deleted file mode 100755 index 831e3b17..00000000 --- a/os-integration-test/run-sshd.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash -xe - -exec docker run --rm -p 22:22 \ - -e "SSH_HOST_DSA_KEY=$(cat etc/ssh/ssh_host_dsa_key)" \ - -e "SSH_HOST_RSA_KEY=$(cat etc/ssh/ssh_host_rsa_key)" \ - -e "SSH_HOST_ECDSA_KEY=$(cat etc/ssh/ssh_host_ecdsa_key)" \ - -e "SSH_HOST_ED25519_KEY=$(cat etc/ssh/ssh_host_ed25519_key)" \ - -e "SSH_AUTHORIZED_KEYS=$(cat etc/ssh/id_rsa.pub etc/ssh/id_rsa_pass.pub etc/ssh/id_ecdsa.pub)" \ - --name sshd \ - int128/sshd diff --git a/os-integration-test/src/main/groovy/org/hidetake/groovy/ssh/test/os/Fixture.groovy b/os-integration-test/src/main/groovy/org/hidetake/groovy/ssh/test/os/Fixture.groovy index e43576d3..45d3d239 100644 --- a/os-integration-test/src/main/groovy/org/hidetake/groovy/ssh/test/os/Fixture.groovy +++ b/os-integration-test/src/main/groovy/org/hidetake/groovy/ssh/test/os/Fixture.groovy @@ -16,27 +16,20 @@ class Fixture { service.remotes { Default { host = 'localhost' - port = 22 - user = 'tester' - identity = new File("etc/ssh/id_rsa") + port = System.getenv('SSH_PORT') as int + user = System.properties['user.name'] + identity = new File("${System.properties['user.home']}/.ssh/id_ecdsa") knownHosts = addHostKey(new File("build/known_hosts")) } } service.remotes { - DefaultWithECDSAKey { - host = service.remotes.Default.host - port = service.remotes.Default.port - user = service.remotes.Default.user - identity = new File("etc/ssh/id_ecdsa") - knownHosts = service.remotes.Default.knownHosts - } DefaultWithPassphrase { host = service.remotes.Default.host port = service.remotes.Default.port user = service.remotes.Default.user knownHosts = service.remotes.Default.knownHosts - identity = new File("etc/ssh/id_rsa_pass") + identity = new File("${System.properties['user.home']}/.ssh/id_ecdsa_pass") passphrase = 'gradle' } DefaultWithOpenSSHKnownHosts { @@ -45,7 +38,7 @@ class Fixture { user = service.remotes.Default.user identity = service.remotes.Default.identity - knownHosts = new File("etc/ssh/known_hosts") + knownHosts = new File("${System.properties['user.home']}/.ssh/known_hosts") } DefaultWithAgent { host = service.remotes.Default.host diff --git a/os-integration-test/src/test/groovy/org/hidetake/groovy/ssh/test/os/UserAuthenticationSpec.groovy b/os-integration-test/src/test/groovy/org/hidetake/groovy/ssh/test/os/UserAuthenticationSpec.groovy index 85ef223e..5c2e7ab7 100644 --- a/os-integration-test/src/test/groovy/org/hidetake/groovy/ssh/test/os/UserAuthenticationSpec.groovy +++ b/os-integration-test/src/test/groovy/org/hidetake/groovy/ssh/test/os/UserAuthenticationSpec.groovy @@ -37,23 +37,7 @@ class UserAuthenticationSpec extends Specification { ssh.settings.extensions.add(UserManagementExtension) } - def 'should authenticate by ECDSA key'() { - given: - def x = randomInt() - def y = randomInt() - - when: - def r = ssh.run { - session(ssh.remotes.DefaultWithECDSAKey) { - execute "expr $x + $y" - } - } as int - - then: - r == (x + y) - } - - def 'should authenticate by pass-phrased RSA key'() { + def 'should authenticate by pass-phrased key'() { given: def x = randomInt() def y = randomInt()