openssh/regress/ssh2putty.sh
dtucker@openbsd.org a3f2dd955f upstream: Merge back shell portability changes
bringing it back in sync with -portable.

OpenBSD-Regress-ID: c07905ba931e66ad7d849b87b7d19648007175d1
2021-06-02 10:33:46 +10:00

37 lines
730 B
Bash
Executable File

#!/bin/sh
# $OpenBSD: ssh2putty.sh,v 1.8 2021/06/02 00:17:45 dtucker Exp $
if test "x$1" = "x" -o "x$2" = "x" -o "x$3" = "x" ; then
echo "Usage: ssh2putty hostname port ssh-private-key"
exit 1
fi
HOST=$1
PORT=$2
KEYFILE=$3
OPENSSL="${OPENSSL:-openssl}"
# XXX - support DSA keys too
if grep "BEGIN RSA PRIVATE KEY" $KEYFILE >/dev/null 2>&1 ; then
:
else
echo "Unsupported private key format"
exit 1
fi
public_exponent=`
$OPENSSL rsa -noout -text -in $KEYFILE | grep ^publicExponent |
sed 's/.*(//;s/).*//'
`
test $? -ne 0 && exit 1
modulus=`
$OPENSSL rsa -noout -modulus -in $KEYFILE | grep ^Modulus= |
sed 's/^Modulus=/0x/' | tr A-Z a-z
`
test $? -ne 0 && exit 1
echo "rsa2@$PORT:$HOST $public_exponent,$modulus"