1ce3adf43SDag-Erling Smørgrav#!/bin/sh 2*19261079SEd Maste# $OpenBSD: ssh2putty.sh,v 1.9 2021/07/25 12:13:03 dtucker Exp $ 3ce3adf43SDag-Erling Smørgrav 4ce3adf43SDag-Erling Smørgravif test "x$1" = "x" -o "x$2" = "x" -o "x$3" = "x" ; then 5ce3adf43SDag-Erling Smørgrav echo "Usage: ssh2putty hostname port ssh-private-key" 6ce3adf43SDag-Erling Smørgrav exit 1 7ce3adf43SDag-Erling Smørgravfi 8ce3adf43SDag-Erling Smørgrav 9ce3adf43SDag-Erling SmørgravHOST=$1 10ce3adf43SDag-Erling SmørgravPORT=$2 11ce3adf43SDag-Erling SmørgravKEYFILE=$3 12ce3adf43SDag-Erling Smørgrav 13*19261079SEd MasteOPENSSL_BIN="${OPENSSL_BIN:-openssl}" 14*19261079SEd Maste 15ce3adf43SDag-Erling Smørgrav# XXX - support DSA keys too 16ce3adf43SDag-Erling Smørgravif grep "BEGIN RSA PRIVATE KEY" $KEYFILE >/dev/null 2>&1 ; then 17ce3adf43SDag-Erling Smørgrav : 18ce3adf43SDag-Erling Smørgravelse 19ce3adf43SDag-Erling Smørgrav echo "Unsupported private key format" 20ce3adf43SDag-Erling Smørgrav exit 1 21ce3adf43SDag-Erling Smørgravfi 22ce3adf43SDag-Erling Smørgrav 23ce3adf43SDag-Erling Smørgravpublic_exponent=` 24*19261079SEd Maste $OPENSSL_BIN rsa -noout -text -in $KEYFILE | grep ^publicExponent | 25ce3adf43SDag-Erling Smørgrav sed 's/.*(//;s/).*//' 26ce3adf43SDag-Erling Smørgrav` 27ce3adf43SDag-Erling Smørgravtest $? -ne 0 && exit 1 28ce3adf43SDag-Erling Smørgrav 29ce3adf43SDag-Erling Smørgravmodulus=` 30*19261079SEd Maste $OPENSSL_BIN rsa -noout -modulus -in $KEYFILE | grep ^Modulus= | 31ce3adf43SDag-Erling Smørgrav sed 's/^Modulus=/0x/' | tr A-Z a-z 32ce3adf43SDag-Erling Smørgrav` 33ce3adf43SDag-Erling Smørgravtest $? -ne 0 && exit 1 34ce3adf43SDag-Erling Smørgrav 35ce3adf43SDag-Erling Smørgravecho "rsa2@$PORT:$HOST $public_exponent,$modulus" 36ce3adf43SDag-Erling Smørgrav 37