added msmktempfile; got rid of /dev/stdin assumption in ssh_proxycommand for portability
[monkeysphere.git] / src / share / m / ssh_proxycommand
index d7e801ec46711ada104019a5d00628b76b8eb516..e07b637d26ce79debc7c34131aba0d6a652cc598 100644 (file)
@@ -64,11 +64,11 @@ An OpenPGP key matching the ssh key offered by the host was found:
 
 EOF
 
-                   # do some crazy "Here Strings" redirection to get the key to
-                   # ssh-keygen, since it doesn't read from stdin cleanly
-                   sshFingerprint=$(ssh-keygen -l -f /dev/stdin \
-                       <<<$(echo "$sshKeyGPG") | \
+                   sshKeyGPGFile=$(msmktempfile)
+                   printf "%s" "$sshKeyGPG" >"$sshKeyGPGFile"
+                   sshFingerprint=$(ssh-keygen -l -f "$sshKeyGPGFile" \
                        awk '{ print $2 }')
+                   rm -f "$sshKeyGPGFile"
 
                    # get the sigs for the matching key
                    gpgSigOut=$(gpg --check-sigs \