Bir sunucuyu klonladım ve böylece aynı RSA anahtar parmak izine sahipler.
İçinde tanımlanmış gibi görünüyor /etc/ssh/ssh_host_rsa_key.pub
.
Bunu değiştirmenin doğru yolu nedir?
Teşekkürler.
Bir sunucuyu klonladım ve böylece aynı RSA anahtar parmak izine sahipler.
İçinde tanımlanmış gibi görünüyor /etc/ssh/ssh_host_rsa_key.pub
.
Bunu değiştirmenin doğru yolu nedir?
Teşekkürler.
Yanıtlar:
Veya tuşları kaldırın ve
ssh-keygen -A
Açıklama:
-A
: Ana bilgisayar anahtarlarının bulunmadığı anahtar türlerinin (rsa1, rsa, dsa, ecdsa ve ed25519) her biri için, ana anahtarlar için varsayılan anahtar dosya yolunu, boş bir parola, anahtar türünün varsayılan bitleri ve varsayılan yorum Yap. Bu, / etc / rc tarafından yeni ana bilgisayar anahtarları oluşturmak için kullanılır.
ssh-keygen -A
yapar: "Ana bilgisayar anahtarlarının bulunmadığı anahtar türlerinin her biri için (rsa1, rsa, dsa, ecdsa ve ed25519), ana bilgisayarı oluşturun. varsayılan anahtar dosya yoluna sahip anahtarlar, boş bir parola, anahtar türü için varsayılan bitler ve varsayılan yorum. Bu, / etc / rc tarafından yeni ana bilgisayar anahtarları oluşturmak için kullanılır. "
OpenSSH Ana Bilgisayar Anahtarlarını yeniden oluşturmak için bu adımları izleyin
rm /etc/ssh/ssh_host_*
dpkg-reconfigure openssh-server
~/.ssh/known_hosts
dosyalarını güncelleBunu yapmanın genel bir yöntemi için:
ssh-keygen -q -N "" -t dsa -f /etc/ssh/ssh_host_dsa_key
ssh-keygen -q -N "" -t rsa -b 4096 -f /etc/ssh/ssh_host_rsa_key
ssh-keygen -q -N "" -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key
OpenSSH sürümünüzün desteklediği anahtarlara göre karıştırın ve eşleştirin.
ssh-keygen -q -N "" -t rsa -b 4096 -f /etc/ssh/ssh_host_rsa_key
Bunları silin ve SSHd servisini yeniden başlatın. Yenilenecekler.
/etc/init.d/ssh restart<newline> Could not load host key: /etc/ssh/ssh_host_rsa_key<newline> Could not load host key: /etc/ssh/ssh_host_dsa_key<newline> [....] Restarting OpenBSD Secure Shell server: sshdCould not load host key: /etc/ssh/ssh_host_rsa_key<newline> Could not load host key: /etc/ssh/ssh_host_dsa_key
Script (sshd arka plan programının yeniden başlatılması durumunda tuşları otomatik olarak yeniden oluşturmaz)
#!/bin/bash
# Regenerate SSHD key materials, restart sshd if "-r" passed on command line
set -o nounset
WHERE=/etc/ssh
# go to directory
pushd $WHERE >/dev/null
if [[ $? != 0 ]]; then
echo "Could not cd to $WHERE -- exiting" >&2
exit 1
fi
# create backup folder
NOW=`date '+%Y%m%d.%H%M%S'` # default NOW string
BAKDIR=bak_$NOW
mkdir $BAKDIR
if [[ $? != 0 ]]; then
echo "Could not mkdir $BAKDIR -- exiting" >&2
exit 1
fi
# move existing key material to backup folder
mv ssh_host_* $BAKDIR
if [[ $? != 0 ]]; then
echo "Could not move old files to $BAKDIR -- exiting" >&2
exit 1
fi
# generate new keys
ssh-keygen -A
if [[ $? != 0 ]]; then
echo "Could not recreate keys -- exiting" >&2
exit 1
fi
# ssh-keygen may create DSA keys but:
# "Never use DSA or ECDSA"
# http://security.stackexchange.com/questions/5096/rsa-vs-dsa-for-ssh-authentication-keys
/bin/rm -f *_dsa_key *_dsa_key.pub
/bin/rm -f *_ecdsa_key *_ecdsa_key.pub
# on Fedora, one has to tune permissions a bit
chmod 640 *_key
chgrp ssh_keys *_key
# make sure SELinux attributes are as they should be
restorecon -R $WHERE
# Done
echo "New key material"
ls -l *_key *_key.pub
# Do the risky thing
if [[ $1 == '-r' ]]; then
echo "Restarting SSH daemon"
systemctl restart sshd
fi
# go back to where you where
popd >/dev/null