From c763d52dfd8934c59e8fa7f8d95142444d08dc8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Skytt=C3=A4?= Date: Sun, 30 Nov 2025 17:46:24 +0200 Subject: [PATCH 1/4] feat(ssh-keygen): -Z argument completion Co-authored-by: Koichi Murase --- completions/ssh-keygen | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/completions/ssh-keygen b/completions/ssh-keygen index 095f36b99c2..4434a7130ac 100644 --- a/completions/ssh-keygen +++ b/completions/ssh-keygen @@ -6,7 +6,7 @@ _comp_cmd_ssh_keygen() _comp_initialize -n := -- "$@" || return local IFS=$' \t\n' # for ${words[*]} - local noargopts='!(-*|*[ aCIJjMNPSVWzbEFRDwfGKsTmnOrtY]*)' + local noargopts='!(-*|*[ aCIJjMNPSVWzbEFRDwfGKsTmnOrtYZ]*)' # shellcheck disable=SC2254 case $prev in -${noargopts}[aCIJjMNPSVWz]) @@ -152,6 +152,10 @@ _comp_cmd_ssh_keygen() _comp_compgen -- -W 'find-principals check-novalidate sign verify' return ;; + -${noargopts}Z) + _comp_compgen -x ssh query ciphers + return + ;; esac _comp_compgen_set From b13bf99ac8f765fde880b464e41e1e64b1f1161d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Skytt=C3=A4?= Date: Sun, 30 Nov 2025 17:47:19 +0200 Subject: [PATCH 2/4] feat(ssh-keygen): -M arg completion --- completions/ssh-keygen | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/completions/ssh-keygen b/completions/ssh-keygen index 4434a7130ac..1dcfa29d515 100644 --- a/completions/ssh-keygen +++ b/completions/ssh-keygen @@ -9,7 +9,7 @@ _comp_cmd_ssh_keygen() local noargopts='!(-*|*[ aCIJjMNPSVWzbEFRDwfGKsTmnOrtYZ]*)' # shellcheck disable=SC2254 case $prev in - -${noargopts}[aCIJjMNPSVWz]) + -${noargopts}[aCIJjNPSVWz]) return ;; -${noargopts}b) @@ -46,6 +46,10 @@ _comp_cmd_ssh_keygen() _comp_compgen_filedir return ;; + -${noargopts}M) + _comp_compgen -- -W 'generate screen' + return + ;; -${noargopts}m) _comp_compgen -- -W 'PEM PKCS8 RFC4716' return From a73bcaf1e1ee366362d121534ce1cc8e6dece090 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Skytt=C3=A4?= Date: Sun, 30 Nov 2025 17:48:23 +0200 Subject: [PATCH 3/4] feat(ssh-keygen): update -Y arg completions Add match-principals. --- completions/ssh-keygen | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/completions/ssh-keygen b/completions/ssh-keygen index 1dcfa29d515..a31e51f18ff 100644 --- a/completions/ssh-keygen +++ b/completions/ssh-keygen @@ -153,7 +153,8 @@ _comp_cmd_ssh_keygen() return ;; -${noargopts}Y) - _comp_compgen -- -W 'find-principals check-novalidate sign verify' + _comp_compgen -- -W \ + 'find-principals match-principals check-novalidate sign verify' return ;; -${noargopts}Z) From 4269a90fa4d0920c330c90a679c18e8cafb19e7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Skytt=C3=A4?= Date: Sun, 30 Nov 2025 17:52:44 +0200 Subject: [PATCH 4/4] feat(ssh-keygen): update -t arg completions Add rsa-sha2-256, rsa-sha2-512, and ssh-rsa. --- completions/ssh-keygen | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/completions/ssh-keygen b/completions/ssh-keygen index a31e51f18ff..657abe0a32a 100644 --- a/completions/ssh-keygen +++ b/completions/ssh-keygen @@ -145,11 +145,14 @@ _comp_cmd_ssh_keygen() local pathcmd protocols pathcmd=$(type -P -- "$1") && local PATH=${pathcmd%/*}:$PATH _comp_compgen -v protocols -x ssh query protocol-version - local types='dsa ecdsa ecdsa-sk ed25519 ed25519-sk rsa' + local -a types=( + dsa ecdsa ecdsa-sk ed25519 ed25519-sk rsa + rsa-sha2-256 rsa-sha2-512 ssh-rsa + ) if [[ ${protocols[*]} == *1* ]]; then - types+=' rsa1' + types+=(rsa1) fi - _comp_compgen -- -W "$types" + _comp_compgen -- -W '"${types[@]}"' return ;; -${noargopts}Y)