Wie kann ich SSH dazu zwingen, einen RSA-Schlüssel anstelle von ECDSA zu vergeben?

15

Wie kann ich beim ersten Zugriff auf einen Server erzwingen, dass mir der RSA-Schlüssel von RSH zur Verfügung gestellt und automatisch gespeichert wird, wenn der Benutzer dies genehmigt?

Derzeit bietet es mir den ECDSA-Schlüssel an. Da ich den RSA-Schlüssel bereits kenne, würde ich es vorziehen, den RSA-Schlüssel an dieser Stelle anzuzeigen.

Ich habe es versucht:

ssh -o RSAAuthentication=yes user@server

Dies gibt mir leider einen ECDSA-Schlüssel und die Nachricht Are you sure you want to continue connecting (yes/no)? .

    
H2ONaCl 07.05.2012, 14:19
quelle

7 Antworten

5

Verwenden Sie RSA nicht, da ECDSA der neue Standard ist.

Führen Sie auf dem Server Folgendes aus: ssh-keygen -l -f /etc/ssh/ssh_host_ecdsa_key.pub und notieren Sie diese Nummer.

Auf dem Client können Sie SSH an den Host senden. Wenn diese Nummer angezeigt wird, können Sie die Eingabeaufforderung Are you sure you want to continue connecting (yes/no)? positiv beantworten. Dann wird der ECDSA-Schlüssel zur späteren Verwendung auf dem Client aufgezeichnet.

    
H2ONaCl 07.05.2012, 18:37
quelle
14

Durch Entfernen der ECDSA-Algorithmen aus der Konfigurationsvariablen HostKeyAlgorithms .

ssh -o HostKeyAlgorithms=ssh-rsa-cert-v01@openssh.com,ssh-dss-cert-v01@openssh.com,ssh-rsa-cert-v00@openssh.com,ssh-dss-cert-v00@openssh.com,ssh-rsa,ssh-dss user@server

Ich habe einfach alle ECDSA-Algorithmen aus der Standardliste entfernt.

Sie können das natürlich in Ihren .ssh/config für diesen Rechner einfügen:

Host: server
    HostKeyAlgorithms ssh-rsa-cert-v01@openssh.com,ssh-dss-cert-v01@openssh.com,ssh-rsa-cert-v00@openssh.com,ssh-dss-cert-v00@openssh.com,ssh-rsa,ssh-dss
    
tumbleweed 14.11.2012 12:01
quelle
3

Ja, OK, bald zu ECDSA wechseln, aber in der Zwischenzeit versuchen Sie Folgendes:

ssh -o HostKeyAlgorithms=ssh-rsa -o FingerprintHash=md5 user@example.com
    
bonkydog 18.12.2015 04:00
quelle
1

Nur um die Antwort von Tumbleweed zu verbessern, die einen toten Link enthält, um die alte Liste der Algorithmen zu finden.

Entscheiden Sie sich zunächst für eine Liste von Algorithmen. Um die alte Liste zu finden, verwenden Sie ssh -vv :

ssh -vv somehost

Und schauen Sie nach den 2 Zeilen wie "Host-Schlüsselalgorithmen: ...", bei denen die erste als Angebot des Servers erscheint und die zweite die des Clients ist. Wenn Sie diese beiden Zeilen automatisch auswählen möchten, versuchen Sie Folgendes (und zum Verlassen drücken Sie Strg + d):

ssh -vv somehost 2>&1 | grep "host key algorithms:"

Jetzt filtern Sie es ... Sie sollten alle dss / dsa-Dateien entfernen, da sie lange veraltet sind, und Sie wollten auch ecdsa entfernen (wie ich), wenn Sie beispielsweise Folgendes hätten:

ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,ssh-ed25519-cert-v01@openssh.com,ssh-rsa-cert-v01@openssh.com,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa

Sie sollten am Ende mit:

enden
ssh-ed25519-cert-v01@openssh.com,ssh-rsa-cert-v01@openssh.com,ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa

Bearbeiten Sie nun Ihre Konfiguration. Für Ihre eigene Konfiguration:

vim ~/.ssh/config

Für die systemweite Konfiguration:

sudo vim /etc/ssh/ssh_config

Fügen Sie eine neue Zeile hinzu, entweder global:

HostKeyAlgorithms ssh-ed25519-cert-v01@openssh.com,ssh-rsa-cert-v01@openssh.com,ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa

oder für einen bestimmten Host (nicht ideal für die serverweite Konfiguration):

Host somehost
    HostKeyAlgorithms ssh-ed25519-cert-v01@openssh.com,ssh-rsa-cert-v01@openssh.com,ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa

Fügen Sie anstelle der eingegebenen Liste die Liste ein, die Sie von der ssh -vv -Ausgabe abgeleitet haben, ohne den Teil "Host-Schlüsselalgorithmen:".

    
Peter 02.08.2017 12:18
quelle
1

Ich habe diese Zeile gerade hinzugefügt

HostKeyAlgorithms ssh-rsa

bis

/etc/ssh/sshd_conf

und es funktioniert gut in dieser Version.

OpenSSH_7.7p2 ubuntu-4ubuntu2.2
    
Jewel Ahmmed 14.08.2017 19:25
quelle
0

Einige Punkte sind verwirrend, da es möglich ist, Schlüsselalgorithmen aus vorhandenen Standardeinstellungen zu entfernen. - Schlüssel der höchsten Ebene sind die neuen RSA-sha2 / 256 / 512- und ed25519-Schlüssel für beste Sicherheit mit ssh-keygen -t ras -a -b 4096 -a 113 bis gen. Die Unterstützung für ältere Versionen liest anscheinend die ssh-Nachrichten, dass ssh1 völlig verschwunden sein wird - auch die 45-Bit- und 96-Bit-Max-dsa-Schlüssel werden abgeschrieben. Es wurde auf 128/1024 Bit fixiert und als hackbar befunden. (Möglicherweise tat das NSA und lahmte / entschuldigte sich, als der Debug-Code im Zweifel zweifelte, dass die Benennung des Herzens den Namen gab). Daher müssen alle kostenträchtigen, sicheren RSA-Schlüsselstrukturen überarbeitet werden, um höhere Standards zu unterstützen. Legen Sie fest, welche Schlüssel Sie verwenden möchten, wie in / etc / ssh / sshd_config beschrieben. Versuchen Sie, 2 Schlüssel zu verwenden. Auth 3-Schlüssel funktionieren auch, dh: sshd_config "AuthenticationMethods publickey, publickey, publickey" - Stellen Sie sicher, dass die Einträge von ssh -Q kex sowohl für A- als auch für B-Server passen oder Desktops als Beispiel können einen Unterschied bei der Ausgabe machen - und sicherstellen, dass die gleichen Algorithmen übereinstimmen. ecdsa-Schlüssel, die in der Produktion neu sind, sind auch nicht besonders gut geeignet. oder get - keyexchange lehnte den teilweisen Zugriff ab. Viele gute Infoz nur geduldig, um es zu suchen.

    
atomic.kidd 26.10.2018 21:50
quelle
-5

Wenn Sie auf dem RSA-Schlüsselansatz bestehen, können Sie ssh-keygen -t rsa auf dem Server eingeben, den Sie als SSH verwenden möchten.

Dadurch sollten öffentliche und private RSA-Schlüssel unter '~ / .ssh / id_rsa' generiert werden. Jetzt müssen Sie nur noch den öffentlichen Schlüssel unter $HOME/.ssh/authorized_keys aller Rechner, von denen Sie ssh verwenden möchten, auf den Rechner kopieren, auf dem Sie Ihre RSA-Schlüssel generiert haben.

Und dann lehnen Sie sich zurück und entspannen Sie sich!

    
Somujit 14.08.2012 19:09
quelle

Tags und Links