diff options
Diffstat (limited to 'bin/samizdat-ssh-uid')
-rwxr-xr-x | bin/samizdat-ssh-uid | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/bin/samizdat-ssh-uid b/bin/samizdat-ssh-uid index 2612bdc..2180cd5 100755 --- a/bin/samizdat-ssh-uid +++ b/bin/samizdat-ssh-uid | |||
@@ -21,8 +21,10 @@ get_domain() | |||
21 | get_sshfp() | 21 | get_sshfp() |
22 | { | 22 | { |
23 | [ -f "$1" ] || return | 23 | [ -f "$1" ] || return |
24 | sshfp_b16=$(ssh-keygen -r . -f "$1" | sed -ne 's/^. IN SSHFP [0-9]* 2 //p') && | 24 | sshfp_raw=$(ssh-keygen -r . -f "$1" | sed -ne 's/^. IN SSHFP \([0-9]* 2 \)/\1/p' | head -n1) || die 'ssh-keygen' |
25 | [ "$sshfp_b16" ] || die "could not determine ssh client fingerprint" | 25 | |
26 | sshfp_b16=$(echo "$sshfp_raw" | sed -ne 's/^[0-9]* 2 //p') && | ||
27 | [ "$sshfp_b16" ] || die "could not determine ssh client fingerprint" | ||
26 | sshfp_b32=$(b16_to_b32 "$sshfp_b16") | 28 | sshfp_b32=$(b16_to_b32 "$sshfp_b16") |
27 | } | 29 | } |
28 | 30 | ||
@@ -82,6 +84,7 @@ dispose_of_temp_pem_files "$@" | |||
82 | 84 | ||
83 | env -i \ | 85 | env -i \ |
84 | SSH_CLIENT_DOMAIN="$domain" \ | 86 | SSH_CLIENT_DOMAIN="$domain" \ |
87 | SSH_CLIENT_SSHFP_DATA="'$sshfp_raw'" \ | ||
85 | SSH_CLIENT_FINGERPRINT="$sshfp_b32" \ | 88 | SSH_CLIENT_FINGERPRINT="$sshfp_b32" \ |
86 | SSH_CLIENT_KEYTYPE="$keytype" \ | 89 | SSH_CLIENT_KEYTYPE="$keytype" \ |
87 | SSH_CLIENT_KEYDATA="$keydata" | 90 | SSH_CLIENT_KEYDATA="$keydata" |