summaryrefslogtreecommitdiffstats
path: root/Completion/Unix/Command/_ssh
diff options
context:
space:
mode:
authorOliver Kiddle <opk@zsh.org>2023-03-16 22:15:28 +0100
committerOliver Kiddle <opk@zsh.org>2023-03-16 22:15:28 +0100
commit6386dd94fd0fe771e9c79864ad2a24e4f2ff123e (patch)
tree262040011f9f860d68e6cfd44d1e7b29d7b413c9 /Completion/Unix/Command/_ssh
parent51581: update completions to cover changes in OpenBSD 7.2 (diff)
downloadzsh-6386dd94fd0fe771e9c79864ad2a24e4f2ff123e.tar
zsh-6386dd94fd0fe771e9c79864ad2a24e4f2ff123e.tar.gz
zsh-6386dd94fd0fe771e9c79864ad2a24e4f2ff123e.tar.bz2
zsh-6386dd94fd0fe771e9c79864ad2a24e4f2ff123e.tar.lz
zsh-6386dd94fd0fe771e9c79864ad2a24e4f2ff123e.tar.xz
zsh-6386dd94fd0fe771e9c79864ad2a24e4f2ff123e.tar.zst
zsh-6386dd94fd0fe771e9c79864ad2a24e4f2ff123e.zip
51582: openssh 9.3 completion update
Diffstat (limited to 'Completion/Unix/Command/_ssh')
-rw-r--r--Completion/Unix/Command/_ssh184
1 files changed, 118 insertions, 66 deletions
diff --git a/Completion/Unix/Command/_ssh b/Completion/Unix/Command/_ssh
index 2385272f1..e9ca454b4 100644
--- a/Completion/Unix/Command/_ssh
+++ b/Completion/Unix/Command/_ssh
@@ -18,14 +18,18 @@ _ssh () {
'*-o+[specify extra options]:option string:->option'
)
common_transfer=(
+ '(-O)-D+[connect directly to a local sftp server]:sftp server path:_command_names -e'
'-J+[connect via a jump host]: :->userhost'
'-l+[limit used bandwidth]:bandwidth (Kbit/s)'
'-P+[specify port on remote host]:port number on remote host'
'-p[preserve modification times, access times and modes]'
'-q[disable progress meter and warnings]'
'-r[recursively copy directories (follows symbolic links)]'
- '-S+[specify ssh program]:path to ssh:_command_names -e' \
+ '-S+[specify ssh program]:path to ssh:_command_names -e'
'-v[verbose mode]'
+ '*(-O)-X+[specify sftp protocol option]: : _values "sftp option"
+ "nrequests[set max concurrent SFTP read or write requests]\:requests [64]"
+ "buffer[set max buffer size for a single SFTP read/write operation]\: \:_numbers -l 0 -m 256K -d 32K -u bytes -f size \:B\:bytes \:K\:kilobytes"'
)
algopt='-E+[specify hash algorithm for fingerprints]:algorithm:(md5 sha256)'
@@ -58,7 +62,7 @@ _ssh () {
'(-v)*-q[quiet operation]' \
'*-R+[specify remote port forwarding]:remote port forwarding:->forward' \
'-S+[specify location of control socket for connection sharing]:path to control socket:_files' \
- '-Q+[query parameters]:query option:((cipher\:"supported symmetric ciphers" cipher-auth\:"supported symmetric ciphers that support authenticated encryption" mac\:"supported message integrity codes" kex\:"key exchange algorithms" key\:"key types" key-cert\:"certificate key types" key-plain\:"non-certificate key types" protocol-version\:"supported SSH protocol versions" sig\:"supported signature algorithms" help\:"show supported queries"))' \
+ '-Q+[query parameters]:query option:((cipher\:"supported symmetric ciphers" cipher-auth\:"supported symmetric ciphers that support authenticated encryption" compression mac\:"supported message integrity codes" kex\:"key exchange algorithms" kex-gss\:"GSSAPI key exchange algorithms" key\:"key types" key-cert\:"certificate key types" key-plain\:"non-certificate key types" key-sig\:"all key types and signature algorithms" protocol-version\:"supported SSH protocol versions" sig\:"supported signature algorithms" help\:"show supported queries" HostbasedAcceptedAlgorithms HostKeyAlgorithms KexAlgorithms MACs PubkeyAcceptedAlgorithms))' \
'-s[invoke subsystem]' \
'(-t)-T[disable pseudo-tty allocation]' \
"(-T)*-t[force pseudo-tty allocation${tdesc}]" \
@@ -76,7 +80,8 @@ _ssh () {
scp)
_arguments -C -s \
'-3[copy through local host, not directly between the remote hosts]' \
- '-B[batch mode (don'\''t ask for passphrases)]' \
+ "-B[batch mode (don't ask for passwords or passphrases)]" \
+ '(-D -X)-O[use the original SCP protocol instead of the SFTP protocol]' \
'-T[disable strict filename checking]' \
'*:file:->file' "$common[@]" "$common_transfer[@]" && ret=0
;;
@@ -95,12 +100,14 @@ _ssh () {
'--apple-load-keychain[add identities from keychain]'
'--apple-use-keychain[update keychain when adding/removing identities]'
)
- _arguments -s : $args \
+ _arguments -C -s : $args \
'-c[identity is subject to confirmation via SSH_ASKPASS]' \
'-D[delete all identities]' \
'-d[remove identity]' \
$algopt \
'-e+[remove keys provided by the PKCS#11 shared library]:library:_files -g "*.(so|dylib)(|.<->)(-.)"' \
+ '*-H[specify a known hosts file to look up hostkeys]:known hosts file:_files' \
+ '*-h[constrain keys to specific hosts or destinations]:destination:->destinations' \
'-k[load plain private keys only and skip certificates]' \
'-K[load resident keys from a FIDO authenticator]' \
'-L[list public key parameters of all identities in the agent]'\
@@ -109,14 +116,13 @@ _ssh () {
'-M+[specify maximum number of signatures]:number' \
'-S+[use specified library when adding FIDO authenticator-hosted keys]:library:_files' \
'-s+[add keys provided by the PKCS#11 shared library]:library:_files -g "*.(so|dylib)(|.<->)(-.)"' \
- '-t+[set maximum lifetime for identity]:maximum lifetime (in seconds or time format):' \
+ '-t+[set maximum lifetime for identity]: :_numbers -u seconds "maximum lifetime" \:s\:seconds m\:minutes h\:hours d\:days w\:weeks' \
"-T[test usability of identity files' private keys]:*:public key file:_files -g '*.pub(-.)'" \
'*-v[verbose mode]' \
'-q[be quiet after a successful operation]' \
'-X[unlock the agent]' \
'-x[lock the agent with a password]' \
- '*:SSH identity file:_files'
- return
+ '*:SSH identity file:_files'