Add support for ed25519 host keys
This commit is contained in:
parent
02fc6bb1c3
commit
5f99726988
2 changed files with 26 additions and 25 deletions
2
PKGBUILD
2
PKGBUILD
|
@ -20,7 +20,7 @@ source=(
|
||||||
)
|
)
|
||||||
changelog=ChangeLog
|
changelog=ChangeLog
|
||||||
sha256sums=('6c529408125bd0c446162f8d4a16d7262d6b39896d8e6f87d364f7b299203315'
|
sha256sums=('6c529408125bd0c446162f8d4a16d7262d6b39896d8e6f87d364f7b299203315'
|
||||||
'51f44735be81a4488acd9b2b7713a3e61beddd9b167773db0e345adc3b8d693f'
|
'6e6fcb6a1f3b1ffae85a8b72b56b8fd2b221777713d221641d8cbfd2ad5637b3'
|
||||||
'ac69d63ecc672c698582b0fc260dbfe42d71adcdab707f807c8e1113be11abd8')
|
'ac69d63ecc672c698582b0fc260dbfe42d71adcdab707f807c8e1113be11abd8')
|
||||||
|
|
||||||
package() {
|
package() {
|
||||||
|
|
|
@ -1,45 +1,46 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
KEY_TYPES="ed25519 ecdsa rsa"
|
||||||
|
|
||||||
get_fingerprint() {
|
get_fingerprint() {
|
||||||
keyfile="$1"
|
kf="$1"
|
||||||
dropbearkey -y -f "${keyfile}" | sed -n '/^Fingerprint:/ {s/Fingerprint: *//; p}'
|
dropbearkey -y -f "${kf}" | sed -n '/^Fingerprint:/ {s/Fingerprint: *//; p}'
|
||||||
}
|
}
|
||||||
|
|
||||||
display_fingerprints() {
|
display_fingerprints() {
|
||||||
for keyfile in "/etc/dropbear/dropbear_rsa_host_key" "/etc/dropbear/dropbear_ecdsa_host_key"; do
|
for kt in $KEY_TYPES; do
|
||||||
if [ -s "${keyfile}" ]; then
|
kf="/etc/dropbear/dropbear_${kt}_host_key"
|
||||||
echo "$(basename "${keyfile}") : $(get_fingerprint "${keyfile}")"
|
if [ -s "${kf}" ]; then
|
||||||
|
echo "$(basename "${kf}") : $(get_fingerprint "${kf}")"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
copy_openssh_keys() {
|
copy_openssh_keys() {
|
||||||
osshrsa="/etc/ssh/ssh_host_rsa_key"
|
|
||||||
osshecdsa="/etc/ssh/ssh_host_ecdsa_key"
|
|
||||||
|
|
||||||
dbpre="/etc/dropbear/dropbear_"
|
|
||||||
|
|
||||||
return_code=1
|
return_code=1
|
||||||
|
|
||||||
if [ -s "$osshrsa" ]; then
|
for kt in $KEY_TYPES; do
|
||||||
dropbearconvert openssh dropbear $osshrsa ${dbpre}rsa_host_key
|
osshkey="/etc/ssh/ssh_host_$kt"
|
||||||
return_code=0
|
if [ -s "$osshkey" ]; then
|
||||||
fi
|
dropbearconvert \
|
||||||
|
openssh dropbear \
|
||||||
if [ -s "$osshecdsa" ]; then
|
"$osshkey" \
|
||||||
dropbearconvert openssh dropbear $osshecdsa ${dbpre}ecdsa_host_key
|
"/etc/dropbear/dropbear_${kt}_host_key"
|
||||||
return_code=0
|
return_code=0
|
||||||
fi
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
return $return_code
|
return $return_code
|
||||||
}
|
}
|
||||||
|
|
||||||
generate_keys() {
|
generate_keys() {
|
||||||
for keytype in rsa ecdsa; do
|
for kt in $KEY_TYPES; do
|
||||||
keyfile="/etc/dropbear/dropbear_${keytype}_host_key"
|
kf="/etc/dropbear/dropbear_${kt}_host_key"
|
||||||
if [ ! -s "$keyfile" ]; then
|
if [ ! -s "$kf" ]; then
|
||||||
echo "Generating ${keytype} host key for dropbear ..."
|
echo "Generating ${kt} host key for dropbear ..."
|
||||||
dropbearkey -t "${keytype}" -f "${keyfile}"
|
dropbearkey -t "${kt}" -f "${kf}"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue