From 74d245d85627067ad5f54f7eec7c883563d3e10c Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Wed, 26 Feb 2025 00:47:34 -0500 Subject: [PATCH 1/3] feat: add the ssh public-key to the json list output --- sshcommand | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sshcommand b/sshcommand index 12ca6f8..8365d73 100755 --- a/sshcommand +++ b/sshcommand @@ -254,7 +254,7 @@ sshcommand-list() { if [[ -n "$OUTPUT_TYPE" ]] && [[ "$OUTPUT_TYPE" == "json" ]]; then data=$(sed --silent --regexp-extended \ - 's/^command="FINGERPRINT=(\S+) NAME=(\\"|)(.*)\2 `.*",(\S+).*/{ "fingerprint": "\1", "name": "\3", "SSHCOMMAND_ALLOWED_KEYS": "\4" }/p' \ + 's/^command="FINGERPRINT=(\S+) NAME=(\\"|)(.*)\2 `.*",(\S+) (.*)/{ "fingerprint": "\1", "name": "\3", "SSHCOMMAND_ALLOWED_KEYS": "\4", "public-key": "\5" }/p' \ "$userhome/.ssh/authorized_keys" | tr '\n' ',' | sed '$s/,$/\n/') if [[ -n "$NAME" ]]; then From 8bd9223243afa0953cb179dd8527c8d289f7f9d8 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Wed, 26 Feb 2025 00:59:56 -0500 Subject: [PATCH 2/3] fix: update test fixtures --- .../authorized_keys/sshcommand_list_expected_json_output | 2 +- .../sshcommand_list_expected_json_output_md5_filtered | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/unit/fixtures/authorized_keys/sshcommand_list_expected_json_output b/tests/unit/fixtures/authorized_keys/sshcommand_list_expected_json_output index 6fbc060..4f576e5 100644 --- a/tests/unit/fixtures/authorized_keys/sshcommand_list_expected_json_output +++ b/tests/unit/fixtures/authorized_keys/sshcommand_list_expected_json_output @@ -1 +1 @@ -[{ "fingerprint": "2a:f7:39:1c:63:80:c4:9e:a8:92:ec:e6:94:91:fa:c0", "name": "md5", "SSHCOMMAND_ALLOWED_KEYS": "no-agent-forwarding,no-user-rc,no-X11-forwarding,no-port-forwarding" },{ "fingerprint": "SHA256:y/lCsvs2fCWjcYc0whZFYQ3UX/OO2qv+n6wE7D9dCeI", "name": "sha256", "SSHCOMMAND_ALLOWED_KEYS": "no-agent-forwarding,no-user-rc,no-X11-forwarding,no-port-forwarding" },{ "fingerprint": "9f:7d:fd:8e:48:86:c5:ed:41:82:f7:df:3c:2c:18:9e", "name": "without-quotes", "SSHCOMMAND_ALLOWED_KEYS": "no-agent-forwarding,no-user-rc,no-X11-forwarding,no-port-forwarding" }] +[{ "fingerprint": "2a:f7:39:1c:63:80:c4:9e:a8:92:ec:e6:94:91:fa:c0", "name": "md5", "SSHCOMMAND_ALLOWED_KEYS": "no-agent-forwarding,no-user-rc,no-X11-forwarding,no-port-forwarding", "public-key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC9y0nhYCAWn7PAf/jlOOSKNnnlKWQ1qkCLkrkHIzMy6hBjRyicFPZp3h+edkPIsUt0tZxXfxt/duJtFGXGS47n8aaWC4Dwu9V2l2U9kCbXtbvuV270+ayk4ax7imBBuMkUWUYgoxrzd13Z9VcSZYePMfZXqEwLN3+XXAZvK32nMfKZ9b0AX4jraDA3JMAXnBxWxoZk4ic+vlNzOZBjH7BS8XwackuqhjLddNPGjmo/YeBJL5Av32sV+tOvpPx4Zu4mTZXy8WQtx7r+Q+209Lt6eVKjO+FYR1gPcyh77KHeNGRvK0WcpnJAC3yU1wgUnpmNOcZ8F2FUpSdaxjX6JSwV md5" },{ "fingerprint": "SHA256:y/lCsvs2fCWjcYc0whZFYQ3UX/OO2qv+n6wE7D9dCeI", "name": "sha256", "SSHCOMMAND_ALLOWED_KEYS": "no-agent-forwarding,no-user-rc,no-X11-forwarding,no-port-forwarding", "public-key": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA1F98keUFBulWE04RO2+wv3bXASs3TeBXZwG7l4/DKAGc8Qx+U0wb8hZNRtPo2cZP2NRBnVRe6hYEHhr++ocDkPjWY1vggJu/nhubqVELVg+gblpC3rYJur6c4uoTUx/Ea1JzHZ9CKhQJRUj7t6KDfDYv8CM7mgS71QdL/YifTjDeIqXiaSRnb0Q2HkuKQQ5yxT0TLwN3chp4WfVqYcbWvnjUk23IfKAos/1e7F3DOMvO+gU8OYyV17iXVB2Bmb5YZodEYeomprL+yfeh5Qa8Kswo+fYRKJ+9SLYVAVNGxbpktUyv+DlLxuRD4AsGDWKuDqk5U3O6cK3CNQWYUGSVew== sha256" },{ "fingerprint": "9f:7d:fd:8e:48:86:c5:ed:41:82:f7:df:3c:2c:18:9e", "name": "without-quotes", "SSHCOMMAND_ALLOWED_KEYS": "no-agent-forwarding,no-user-rc,no-X11-forwarding,no-port-forwarding", "public-key": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAx6lOy3WkAieirh3UgZK0x2wwUkmaPeR+tJca4ZXGRYAh/7rqX3MHjIvgne8KDW2KGvPdy5BJpY3wkix9vRF7XU7nrl/dGnHWUT+8IcCKuAKiJQvVU1ZqYrvUXnRMeoRr1diHWoixo9BRxzu4GS4Gg+cFX3wH+qsJvMm5LollUUWy2RKWK2l3RFR6XQ3sUtvPe7FSSI+QYgst1HYQk50tigp1RYIFiLYXnvZrnAFQ05N4PjP15rTJRkOTatuDUzDB9lzEQjUq/Ew0zV8JEIn6Svp68UmeK+IWSMNsHj30k6aiZBHWYvKkrCgqAMZJdh/7nDNePqbUftdS2On9lwENpQ==" }] diff --git a/tests/unit/fixtures/authorized_keys/sshcommand_list_expected_json_output_md5_filtered b/tests/unit/fixtures/authorized_keys/sshcommand_list_expected_json_output_md5_filtered index 7052be5..045f4d6 100644 --- a/tests/unit/fixtures/authorized_keys/sshcommand_list_expected_json_output_md5_filtered +++ b/tests/unit/fixtures/authorized_keys/sshcommand_list_expected_json_output_md5_filtered @@ -1 +1 @@ -[{"fingerprint":"2a:f7:39:1c:63:80:c4:9e:a8:92:ec:e6:94:91:fa:c0","name":"md5","SSHCOMMAND_ALLOWED_KEYS":"no-agent-forwarding,no-user-rc,no-X11-forwarding,no-port-forwarding"}] +[{"fingerprint":"2a:f7:39:1c:63:80:c4:9e:a8:92:ec:e6:94:91:fa:c0","name":"md5","SSHCOMMAND_ALLOWED_KEYS":"no-agent-forwarding,no-user-rc,no-X11-forwarding,no-port-forwarding", "public-key":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC9y0nhYCAWn7PAf/jlOOSKNnnlKWQ1qkCLkrkHIzMy6hBjRyicFPZp3h+edkPIsUt0tZxXfxt/duJtFGXGS47n8aaWC4Dwu9V2l2U9kCbXtbvuV270+ayk4ax7imBBuMkUWUYgoxrzd13Z9VcSZYePMfZXqEwLN3+XXAZvK32nMfKZ9b0AX4jraDA3JMAXnBxWxoZk4ic+vlNzOZBjH7BS8XwackuqhjLddNPGjmo/YeBJL5Av32sV+tOvpPx4Zu4mTZXy8WQtx7r+Q+209Lt6eVKjO+FYR1gPcyh77KHeNGRvK0WcpnJAC3yU1wgUnpmNOcZ8F2FUpSdaxjX6JSwV md5"}] From 371ca1d20a980e5ce53b7ad11e0fd592d0bc62a7 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Wed, 26 Feb 2025 01:11:21 -0500 Subject: [PATCH 3/3] fix: update test fixtures --- .../sshcommand_list_expected_json_output_md5_filtered | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/unit/fixtures/authorized_keys/sshcommand_list_expected_json_output_md5_filtered b/tests/unit/fixtures/authorized_keys/sshcommand_list_expected_json_output_md5_filtered index 045f4d6..3d7f19a 100644 --- a/tests/unit/fixtures/authorized_keys/sshcommand_list_expected_json_output_md5_filtered +++ b/tests/unit/fixtures/authorized_keys/sshcommand_list_expected_json_output_md5_filtered @@ -1 +1 @@ -[{"fingerprint":"2a:f7:39:1c:63:80:c4:9e:a8:92:ec:e6:94:91:fa:c0","name":"md5","SSHCOMMAND_ALLOWED_KEYS":"no-agent-forwarding,no-user-rc,no-X11-forwarding,no-port-forwarding", "public-key":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC9y0nhYCAWn7PAf/jlOOSKNnnlKWQ1qkCLkrkHIzMy6hBjRyicFPZp3h+edkPIsUt0tZxXfxt/duJtFGXGS47n8aaWC4Dwu9V2l2U9kCbXtbvuV270+ayk4ax7imBBuMkUWUYgoxrzd13Z9VcSZYePMfZXqEwLN3+XXAZvK32nMfKZ9b0AX4jraDA3JMAXnBxWxoZk4ic+vlNzOZBjH7BS8XwackuqhjLddNPGjmo/YeBJL5Av32sV+tOvpPx4Zu4mTZXy8WQtx7r+Q+209Lt6eVKjO+FYR1gPcyh77KHeNGRvK0WcpnJAC3yU1wgUnpmNOcZ8F2FUpSdaxjX6JSwV md5"}] +[{"fingerprint":"2a:f7:39:1c:63:80:c4:9e:a8:92:ec:e6:94:91:fa:c0","name":"md5","SSHCOMMAND_ALLOWED_KEYS":"no-agent-forwarding,no-user-rc,no-X11-forwarding,no-port-forwarding","public-key":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC9y0nhYCAWn7PAf/jlOOSKNnnlKWQ1qkCLkrkHIzMy6hBjRyicFPZp3h+edkPIsUt0tZxXfxt/duJtFGXGS47n8aaWC4Dwu9V2l2U9kCbXtbvuV270+ayk4ax7imBBuMkUWUYgoxrzd13Z9VcSZYePMfZXqEwLN3+XXAZvK32nMfKZ9b0AX4jraDA3JMAXnBxWxoZk4ic+vlNzOZBjH7BS8XwackuqhjLddNPGjmo/YeBJL5Av32sV+tOvpPx4Zu4mTZXy8WQtx7r+Q+209Lt6eVKjO+FYR1gPcyh77KHeNGRvK0WcpnJAC3yU1wgUnpmNOcZ8F2FUpSdaxjX6JSwV md5"}]