SSH/Fingerprint: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
KKeine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
When you connect to a machine for the first time you do not have the fingerprint in your <tt>known_hosts</tt>, so ssh has nothing to compare it to, so it asks you. This page describes ways in which you can do more than blindly say <tt>yes</tt>.
= Linux:Befehl:ssh:fingerprints  =


== Fingerprint manuell prüfen ==
Wenn Sie zum ersten Mal eine Verbindung zu einem Computer herstellen, haben Sie den Fingerabdruck nicht in Ihren bekannten_hosts keinen , also hat ssh Vergleich, also fragt es Sie. Diese Seite beschreibt Möglichkeiten, wie Sie mehr tun können, als nur blind sagen Ja zu .  
When you connect to a machine for the first time you will be told that the authenticity can't be established and presented with a key fingerprint to check. Something like this:


  The authenticity of host 'mint.phcomp.co.uk (78.32.209.33)' can't be established.
== Fingerprint manuell prüfen ==
RSA key fingerprint is 6a:de:e0:af:56:f8:0c:04:11:5b:ef:4d:49:ad:09:23.
Are you sure you want to continue connecting (yes/no)? no


You might find that the fingerprint is shown in a different format — just keep reading.  
Wenn Sie zum ersten Mal eine Verbindung zu einem Computer herstellen, werden Sie darauf hingewiesen, dass die Authentizität nicht festgestellt werden kann und erhalten einen Schlüssel-Fingerabdruck zur Überprüfung. Etwas wie das:


To be able to check the fingerprint you need to know what it is. You will probably find the <tt>.pub</tt> files in <tt>/etc/ssh/</tt> that contain [https://www.phcomp.co.uk/Tutorials/Unix-And-Linux/ssh-check-server-fingerprint.html#KeyTypes RSA & DSA keys]. This will generate the fingerprints that you can check:
Die Echtheit des Hosts 'mint.phcomp.co.uk (78.32.209.33)' kann nicht festgestellt werden.
Der Fingerabdruck des RSA-Schlüssels lautet 6a:de:e0:af:56:f8:0c:04:11:5b:ef:4d:49:ad:09:23.
Möchten Sie die Verbindung wirklich fortsetzen (ja/nein)?  Nein


cd /etc/ssh
for file in *sa_key.pub
do  ssh-keygen -lf $file
done


There is little point in doing this ''after'' you have logged in, a sufficiently ingenious Mallory could modify what the above generates on the fly so that you see what he wants you to see. This needs to be done ''before hand'' and you can then check it with what you see. You might print the fingerprints out and keep them in your briefcase or wallet.
Möglicherweise stellen Sie fest, dass der Fingerabdruck in einem anderen Format angezeigt wird – lesen Sie einfach weiter.  


== Displaying fingerprints in other formats ==
Um den Fingerabdruck überprüfen zu können, müssen Sie wissen, was es ist. Sie werden wahrscheinlich die finden PUB Dateien in / etc / ssh / die enthalten [https://www.phcomp.co.uk/Tutorials/Unix-And-Linux/ssh-check-server-fingerprint.html#KeyTypes RSA & DSA Schlüssel ]. Dadurch werden die Fingerabdrücke generiert, die Sie überprüfen können:
You might find that the fingerprint is generated in a different format from what you have. This section tells you how, when connecting, you get the <tt>ssh</tt> client to show them in different formats and, on the server, have <tt>ssh-keygen</tt> generate different format references.  


You may need to mix and match depending on what you have in front of you and where you are able to run commands.  
cd /etc/ssh
für Datei in *sa_key.pub
do ssh-keygen -lf $file
getan


=== Forcing MD5 hash in hexadecimal ===
Es macht wenig Sinn, dies zu tun, nachdem Sie sich eingeloggt haben, ein ausreichend genialer Mallory könnte das, was die oben Generierten im Handumdrehen erzeugen, so ändern, dass Sie sehen, was er Ihnen zeigen möchte. Dies muss erledigt vorher werden und Sie können es dann mit dem, was Sie sehen, überprüfen. Sie können die Fingerabdrücke ausdrucken und in Ihrer Aktentasche oder Brieftasche aufbewahren.  
This is the format shown above. You can force <tt>ssh</tt> to display this thus:
$ ssh -o FingerprintHash=md5 host.example.org


=== SHA256 in base64 ===
== Displaying fingerprints in other formats  ==
This new format looks as below:
The authenticity of host 'mint.phcomp.co.uk (78.32.209.33)' can't be established.
RSA key fingerprint is SHA256:jP0pfKJ9OAXt2F+LM7j3+BMalQ/2Koihl5eH/kli6A4.
Are you sure you want to continue connecting (yes/no)?
You can request this with:
$ ssh -o FingerprintHash=sha256 host.example.org
You can get <tt>ssh-keygen</tt> to display it:
  ssh-keygen -l -E sha256 -f $file
This is used in OpenSSH 6.8 & later. The <tt>FingerprintHash</tt> is not available in old versions.


== ASCII Art Visual Host Key ==
Möglicherweise stellen Sie fest, dass der Fingerabdruck in einem anderen Format erstellt wird, als Sie es haben. In diesem Abschnitt erfahren Sie, wie Sie beim Verbindung den Herstellen einer ssh- Client dazu bringen, sie in verschiedenen Formaten , und wie Sie auf dem Server anzuzeigen ssh-keygen verschiedene Formatreferenzen generieren lassen.  
This displays the host key in a box and is, hopefully, easier to recognise than a string of numbers. It can be used to display both MD5 and SHA256 keys. It looks like this:


  The authenticity of host 'mint.phcomp.co.uk (78.32.209.33)' can't be established.
Sie müssen möglicherweise mischen und anpassen, je nachdem, was Sie vor sich haben und wo Sie Befehle ausführen können.
  RSA key fingerprint is SHA256:jP0pfKJ9OAXt2F+LM7j3+BMalQ/2Koihl5eH/kli6A4.
 
=== Forcing MD5 hash in hexadecimal ===
 
Dies ist das oben gezeigte Format. Sie können zwingen ssh , dies so anzuzeigen:
 
$ ssh -o FingerprintHash=md5 host.example.org
 
=== SHA256 in base64  ===
 
Dieses neue Format sieht wie folgt aus:
 
Die Echtheit des Hosts 'mint.phcomp.co.uk (78.32.209.33)' kann nicht festgestellt werden.
Der RSA-Schlüsselfingerabdruck ist SHA256:jP0pfKJ9OAXt2F+LM7j3+BMalQ/2Koihl5eH/kli6A4.
Möchten Sie die Verbindung wirklich fortsetzen (ja/nein)?
 
Diese können Sie anfordern mit:
 
$ ssh -o FingerprintHash=sha256 host.example.org
 
Sie können ssh-keygen anfordern , um es anzuzeigen:
 
ssh-keygen -l -E sha256 -f $file
 
 
Dies wird in OpenSSH 6.8 und höher verwendet. Der FingerprintHash ist in alten Versionen nicht verfügbar.
 
== ASCII Art Visual Host Key  ==
 
Dies zeigt den Hostschlüssel in einem Kästchen an und ist hoffentlich leichter zu erkennen als eine Zahlenfolge. Es kann verwendet werden, um sowohl MD5- als auch SHA256-Schlüssel anzuzeigen. Es sieht aus wie das:
 
Die Echtheit des Hosts 'mint.phcomp.co.uk (78.32.209.33)' kann nicht festgestellt werden.
  Der RSA-Schlüsselfingerabdruck ist SHA256:jP0pfKJ9OAXt2F+LM7j3+BMalQ/2Koihl5eH/kli6A4.
  +---[RSA 2048]----+
  +---[RSA 2048]----+
  |                 |
  | |
  |                 |
  | |
  |         .     . |
  | . . |
  |       +. .   <nowiki>= </nowiki> |
  | +. . <nowiki>= |</nowiki>
  |     . S=   o + |
  | . S= o + |
  |       .oo+.. o o|
  | .oo+.. oo|
  |     E.=***.= + |
  | E.=***.= + |
  |     .=*=BoXo+ |
  | .=*=BoXo+ |
  |     .o+=o=+*o. |
  | .o+=o=+*o. |
  +----[SHA256]-----+
  +----[SHA256]-----+
  Are you sure you want to continue connecting (yes/no)?  
  Möchten Sie die Verbindung wirklich fortsetzen (ja/nein)?  


You can request <tt>ssh</tt> to display it thus:  
Sie können anfordern ssh , um es so anzuzeigen:  
$ ssh -o VisualHostKey=yes host.example.org


You can request MD5 or SHA256 keys, eg:
$ ssh -o VisualHostKey=yes host.example.org
$ ssh -o VisualHostKey=yes -o FingerprintHash=sha256 host.example.org


On the server <tt>ssh-keygen</tt> will display when given the <tt>-v</tt> option. Combine this with <tt>-E md5</tt> or <tt>-E sha256</tt> for the fingerprint hash algorithm:  
Sie können MD5- oder SHA256-Schlüssel anfordern, z. B.:  
  ssh-keygen -lv -E sha256 -f $file


== Checking of a ssh server key via DNS ==
$ ssh -o VisualHostKey=yes -o FingerprintHash=sha256 host.example.org
You can put the server keys fingerprint in DNS (Domain Name System) and get ssh to tell you if what it the two fingerprints match. This is not a guarantee but it makes Mallory's job harder since he needs to spoof DNS as well as ssh, which can be done as few domains yet implement [https://en.wikipedia.org/wiki/Domain_Name_System_Security_Extensions DNSSEC].


=== Configuring DNS ===
Auf dem Server wird ssh-keygen angezeigt, wenn die -v angegeben wird Option . Kombinieren Sie dies mit -E md5 oder -E sha256 für den Fingerabdruck-Hash-Algorithmus:  
Generate the SSHFP fingerprint information to go into DNS:


  cd /etc/ssh
ssh-keygen -lv -E sha256 -f $file
  for file in *sa_key.pub
 
  do   ssh-keygen -r freshmint.phcomp.co.uk -f $file -g
== Checking of a ssh server key via DNS  ==
  done
 
Sie können den Fingerabdruck des Serverschlüssels in DNS (Domain Name System) einfügen und von ssh erfahren, ob die beiden Fingerabdrücke übereinstimmen. Dies ist keine Garantie, aber es erschwert Mallorys Arbeit, da er sowohl DNS als auch ssh fälschen muss, was möglich ist, da nur wenige Domains implementieren [https://en.wikipedia.org/wiki/Domain_Name_System_Security_Extensions DNSSEC ].
 
=== Configuring DNS ===
 
Generieren Sie die SSHFP-Fingerabdruckinformationen für den DNS:
 
cd /etc/ssh
  für Datei in *sa_key.pub
  do ssh-keygen -r freshmint.phcomp.co.uk -f $file -g
  getan
  freshmint.phcomp.co.uk IN TYPE44 \# 22 02 01 e8fe15b374207a2e6ee99bbbadc87ecd068c17f8
  freshmint.phcomp.co.uk IN TYPE44 \# 22 02 01 e8fe15b374207a2e6ee99bbbadc87ecd068c17f8
  freshmint.phcomp.co.uk IN TYPE44 \# 22 01 01 e5091496bda76d015e89db0bf925ffb1b9d8facb
  freshmint.phcomp.co.uk IN TYPE44 \# 22 01 01 e5091496bda76d015e89db0bf925ffb1b9d8facb


The above output should be used for bind versions earlier than <tt>9.5.0a1</tt>, after that the <tt>SSHFP</tt> RR type is understood:
Die obige Ausgabe sollte für Bind-Versionen vor 9.5.0a1 verwendet werden , danach wird der SSHFP- RR-Typ verstanden:
 
freshmint.phcomp.co.uk IN SSHFP 02 01 e8fe15b374207a2e6ee99bbbadc87ecd068c17f8
freshmint.phcomp.co.uk IN SSHFP 01 01 e5091496bda76d015e89db0bf925ffb1b9d8facbGeben Sie die obigen 2 RR (Ressourceneinträge) in das DNS für den Computer ein. Der komplette Datensatz für die Maschine sieht so aus: freshmint IN A 78.32.209.33
                IN AAAA 2001:4d48:ad51:2f00::2:2
                IN MX 10 frische Minze
                IN SSHFP 1 1 b4b8f2f051a16f57f69590c7c06aeaad039a3882
                IN SSHFP 2 1 ea35c2064a5fc2ec9f51da2e7c790966f9844e59
mint IN CNAME freshmintÜberprüfen Sie mit ob dieses DNS-Update korrekt ist host -a your.machine.name , . Sie sollten die SSHFP- Zeilen wie oben sehen, obwohl sie bei alten Versionen Host- möglicherweise nicht richtig angezeigt werden, sondern wie: freshmint.phcomp.co.uk. 259200 IN TYP44 \# 22 0101b4b8f2f051a16f57f69590c7c06aeaad039a3882
freshmint.phcomp.co.uk. 259200 IN TYP44 \# 22 0201ea35c2064a5fc2ec9f51da2e7c790966f9844e59
 
=== Using the DNS SSHFP RR  ===
 
Konfigurieren Sie Ihren lokalen ssh-Client, tun Sie dies nur für die Bearbeitung von $HOME/.ssh/config oder systemweit /etc/ssh/ssh_config (auf Minix: /usr/pkg/etc/ssh/ssh_config ):VerifyHostKeyDNS ask
 
Sie können dies auch in der Befehlszeile beim Verbinden angeben. Beachten Sie, wie Ihnen mitgeteilt wird, wie der DNS-Fingerabdruck übereinstimmt:
 
ssh -o VerifyHostKeyDNS=fragen freshmint.phcomp.co.uk
Die Authentizität des Hosts 'freshmint.phcomp.co.uk (2001:4d48:ad51:2f00::2:2)' kann nicht festgestellt werden.
Der Fingerabdruck des RSA-Schlüssels lautet 6a:de:e0:af:56:f8:0c:04:11:5b:ef:4d:49:ad:09:23.
Übereinstimmender Hostschlüssel-Fingerabdruck im DNS gefunden.
Sind Sie sicher, dass Sie die Verbindung fortsetzen möchten (ja/nein)? Wenn der Fingerabdruck im DNS nicht übereinstimmt, sehen Sie Folgendes – vielleicht haben Sie ähnliches schon einmal gesehen, aber dies ist bei einer ersten Verbindung: ssh -o VerifyHostKeyDNS=ask freshmint.phcomp.co.uk
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@
@ WARNUNG: REMOTE HOST IDENTIFIKATION HAT SICH GEÄNDERT! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@
ES IST MÖGLICH, DASS JEMAND ETWAS BÖSE TUN!
Jemand könnte Sie gerade belauschen (Man-in-the-Middle-Angriff)!
Es ist auch möglich, dass der RSA-Hostschlüssel gerade geändert wurde.
Der Fingerabdruck für den vom Remote-Host gesendeten RSA-Schlüssel lautet
6a:de:e0:af:56:f8:0c:04:11:5b:ef:4d:49:ad:09:23.
Bitte kontaktieren Sie Ihren Systemadministrator.
Aktualisieren Sie den SSHFP-RR im DNS mit dem neuen Hostschlüssel, um diese Nachricht zu entfernen.
Die Authentizität des Hosts 'freshmint.phcomp.co.uk (2001:4d48:ad51:2f00::2:2)' kann nicht festgestellt werden.
Der Fingerabdruck des RSA-Schlüssels lautet 6a:de:e0:af:56:f8:0c:04:11:5b:ef:4d:49:ad:09:23.
Kein übereinstimmender Hostschlüssel-Fingerabdruck im DNS gefunden.
Möchten Sie die Verbindung wirklich fortsetzen (ja/nein)? 
 
=== Other things of interest  ===
 
Passwortlose Anmeldung mit SSH ( [https://www.phcomp.co.uk/Tutorials/Unix-And-Linux/ssh-passwordless-login.html https://www.phcomp.co.uk/Tutorials/Unix-And-Linux/ssh-passwordless-login.html ])
 
=== References  ===
 
# OpenSSH/Cookbook ( [https://en.wikibooks.org/wiki/OpenSSH/Cookbook/Public_Key_Authentication#Downloading_keys https://en.wikibooks.org/wiki/OpenSSH/Cookbook/Public_Key_Authentication#Downloading_keys ])
# ssh-Manpage
# ssh-keygen-Manpage
# ssh_config-Manpage


freshmint.phcomp.co.uk IN SSHFP 02 01 e8fe15b374207a2e6ee99bbbadc87ecd068c17f8
freshmint.phcomp.co.uk IN SSHFP 01 01 e5091496bda76d015e89db0bf925ffb1b9d8facbEnter the above 2 RR (resource records) into the DNS for the machine. The complete record for the machine looks like: freshmint      IN      A      78.32.209.33
                IN      AAAA    2001:4d48:ad51:2f00::2:2
                IN      MX  10  freshmint
                IN      SSHFP 1 1 b4b8f2f051a16f57f69590c7c06aeaad039a3882
                IN      SSHFP 2 1 ea35c2064a5fc2ec9f51da2e7c790966f9844e59
mint          IN      CNAME  freshmintCheck that this DNS update is correct with <tt>host -a your.machine.name</tt>. You should see the <tt>SSHFP</tt> lines as above, although with old versions of <tt>host</tt> it may not display properly but like:freshmint.phcomp.co.uk. 259200 IN TYPE44 \# 22 0101b4b8f2f051a16f57f69590c7c06aeaad039a3882
freshmint.phcomp.co.uk. 259200 IN TYPE44 \# 22 0201ea35c2064a5fc2ec9f51da2e7c790966f9844e59


=== Using the DNS SSHFP RR ===
Configure your local ssh client, do this for just you be editing <tt>$HOME/.ssh/config</tt> or system wide <tt>/etc/ssh/ssh_config</tt> (on Minix: <tt>/usr/pkg/etc/ssh/ssh_config</tt>):VerifyHostKeyDNS ask


You can also specify this on the command line when connecting. Note how you are told how the DNS fingerprint matches:
=== Technical bits  ===


ssh -o VerifyHostKeyDNS=ask freshmint.phcomp.co.uk
Sie müssen dieses Bit nicht wirklich verstehen, um das Obige zu verwenden; Wenn Sie jedoch ein technischer Nerd sind, sollten Sie es wissen.  
The authenticity of host 'freshmint.phcomp.co.uk (2001:4d48:ad51:2f00::2:2)' can't be established.
RSA key fingerprint is 6a:de:e0:af:56:f8:0c:04:11:5b:ef:4d:49:ad:09:23.
Matching host key fingerprint found in DNS.
Are you sure you want to continue connecting (yes/no)?If the fingerprint in the DNS does '''not''' match you will see the following — you may have seen similar before, but this is on a first connection:ssh -o VerifyHostKeyDNS=ask freshmint.phcomp.co.uk
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!    @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
6a:de:e0:af:56:f8:0c:04:11:5b:ef:4d:49:ad:09:23.
Please contact your system administrator.
Update the SSHFP RR in DNS with the new host key to get rid of this message.
The authenticity of host 'freshmint.phcomp.co.uk (2001:4d48:ad51:2f00::2:2)' can't be established.
RSA key fingerprint is 6a:de:e0:af:56:f8:0c:04:11:5b:ef:4d:49:ad:09:23.
No matching host key fingerprint found in DNS.
Are you sure you want to continue connecting (yes/no)?


=== Other things of interest ===
Schlüsseltypen, dies ist die erste Zahl im SSHFP RR: # RSA — 1 — ein von Ron Rivest, Adi Shamir und Leonard Adleman erfundener Verschlüsselungsalgorithmus mit öffentlichem Schlüssel ( [http://en.wikipedia.org/wiki/RSA_%28algorithm%29 http://en.wikipedia.org/wiki/RSA_%28algorithm%29 ])
Passwordless login with SSH (https://www.phcomp.co.uk/Tutorials/Unix-And-Linux/ssh-passwordless-login.html)
# DSA — 2 — Digitaler Signaturalgorithmus ( [http://en.wikipedia.org/wiki/Digital_Signature_Algorithm http://en.wikipedia.org/wiki/Digital_Signature_Algorithm ])
# ECDSA — 3 — Elliptic Curve Digital Signature Algorithm ( [http://en.wikipedia.org/wiki/Elliptic_Curve_DSA http://en.wikipedia.org/wiki/Elliptic_Curve_DSA ])  


=== References ===
#OpenSSH/Cookbook (https://en.wikibooks.org/wiki/OpenSSH/Cookbook/Public_Key_Authentication#Downloading_keys)
#ssh man page
#ssh-keygen man page
#ssh_config man page


=== Technical bits ===
You don't really need to understand this bit to use the above; however if you are a technical nerd you will want to know.


Key types, these are the first number in the SSHFP RR:
Wo die Schlüsseltypen verwendet werden: # SSH-Version 1 – verwendet nur RSA. Sie sollten SSH Version 1 nicht verwenden, sie gilt nicht mehr als sicher
# RSA — 1 — a public key encryption algorithm invented by Ron Rivest, Adi Shamir and Leonard Adleman (http://en.wikipedia.org/wiki/RSA_%28algorithm%29)
# SSH-Version 2 – RSA & DSA
# DSA — 2 — Digital Signature Algorithm (http://en.wikipedia.org/wiki/Digital_Signature_Algorithm)
# DNS SSHFP RR — RSA, DSA & kürzlich (2012) ECDSA ( [http://www.iana.org/assignments/dns- http://www.iana.org/assignments/dns-sshfp-rr-parameters/dns-sshfp-rr-parameters.xml ])
# ECDSA — 3 — Elliptic Curve Digital Signature Algorithm (http://en.wikipedia.org/wiki/Elliptic_Curve_DSA)
# Die zweite Zahl im SSHFP RR ist der Fingerabdrucktyp:  
# SHA-1 — 1 — sicherer Hash-Algorithmus 1 ein 160-Bit-Nachrichtenauszug ( [http://en.wikipedia.org/wiki/Sha-1 http://en.wikipedia.org/wiki/Sha-1 ])  
# SHA-256 — 2 — sichere Hash-Algorithmus 2 Familie ein 256-Bit-Nachrichtenauszug ( [http://en.wikipedia.org/wiki/Sha-256 http://en.wikipedia.org/wiki/Sha-256 ])  




Where the key types are used:
# SSH version 1 — only uses RSA. You should not be using SSH version 1, it is no longer considered to be secure
# SSH version 2 — RSA & DSA
# DNS SSHFP RR — RSA, DSA & recently (2012) ECDSA ([http://www.iana.org/assignments/dns- http://www.iana.org/assignments/dns-sshfp-rr-parameters/dns-sshfp-rr-parameters.xml])
# The second number in the SSHFP RR is the fingerprint type:
# SHA-1 — 1 — secure hash algorithm 1 a 160-bit message digest ([http://en.wikipedia.org/wiki/Sha-1 http://en.wikipedia.org/wiki/Sha-1])
# SHA-256 — 2 — secure hash algorithm 2 family a 256-bit message digest (http://en.wikipedia.org/wiki/Sha-256)


== Hintergrund ==
== Hintergrund ==
Increasing security by verifying the identity of the machine that you connect to with ssh by eye and with SSHFP in DNS.


[http://en.wikipedia.org/wiki/Secure_Shell ssh] allows you to connect to a remote machine with the data between the two machines being encrypted. You can then securely do: command line login, file copy, tunnel other protocols (eg: rsync, X11), ... You authenticate by either typing a password or [https://www.phcomp.co.uk/Tutorials/Unix-And-Linux/ssh-passwordless-login.html key exchange].  
Erhöhen Sie die Sicherheit, indem Sie die Identität des Computers überprüfen, mit dem Sie sich mit ssh per Auge und mit SSHFP in DNS verbinden.  


A big vulnerability is a [http://en.wikipedia.org/wiki/Man-in-the-middle_attack man in the middle attack] where some malevolent snooping entity (Mallory) between you and the remote machine intercepts all traffic, decrypts it & reencrypts before sending it on. Mallory can do this fast enough so that you are not aware of his existance.  
[http://en.wikipedia.org/wiki/Secure_Shell Mit ssh ]können Sie eine Verbindung zu einem Remote-Computer herstellen, wobei die Daten zwischen den beiden Computern verschlüsselt werden. Sie können dann sicher tun: Kommandozeilen-Login, Dateikopie, Tunnel anderer Protokolle (zB: rsync, X11), ... Sie authentifizieren sich entweder durch Eingabe eines Passworts oder [https://www.phcomp.co.uk/Tutorials/Unix-And-Linux/ssh-passwordless-login.html Schlüsselaustausch ].  


To protect you against this your ssh program checks the remote ssh server's '''fingerprint''' with the fingerprint saved from the last time it connected. If the fingerprint has changed you will be warned and asked if you wish to continue. In [http://en.wikipedia.org/wiki/Openssh openssh] (the ''ssh'' used on most Linux systems) this fingerprint is stored in <tt>$HOME/.ssh/known_hosts</tt>.  
Eine große Schwachstelle ist ein [http://en.wikipedia.org/wiki/Man-in-the-middle_attack Man-in-the-Middle-Angriff, ]bei dem eine böswillige Snooping-Einheit (Mallory) zwischen Ihnen und dem Remote-Computer den gesamten Datenverkehr abfängt, entschlüsselt und erneut verschlüsselt, bevor er weitergesendet wird. Mallory kann dies schnell genug tun, sodass Sie sich seiner Existenz nicht bewusst sind.  


The '''fingerprint''' is a short version of the server's public key; it is easier for you to verify than the full key. It is very hard to spoof another public key with the same fingerprint.
Zum Schutz gegen dem Ihr ssh Programm prüft die Fernbedienung des SSH Servers Fingerabdruck mit dem Fingerabdruck vom letzten Mal gespeichert angeschlossen. Wenn sich der Fingerabdruck geändert hat, werden Sie gewarnt und gefragt, ob Sie fortfahren möchten. In [http://en.wikipedia.org/wiki/Openssh openssh ](dem ssh, das auf den meisten Linux-Systemen verwendet wird) wird dieser Fingerabdruck in $HOME/.ssh/known_hosts gespeichert .  


[[Category:Netzwerke:SSH]]
Der Fingerabdruck ist eine Kurzversion des öffentlichen Schlüssels des Servers; Es ist für Sie einfacher zu überprüfen als der vollständige Schlüssel. Es ist sehr schwer, einen anderen öffentlichen Schlüssel mit demselben Fingerabdruck zu fälschen.
[[Category:Netzwerke:Sicherheit]]

Version vom 17. Juli 2021, 10:30 Uhr

Linux:Befehl:ssh:fingerprints

Wenn Sie zum ersten Mal eine Verbindung zu einem Computer herstellen, haben Sie den Fingerabdruck nicht in Ihren bekannten_hosts keinen , also hat ssh Vergleich, also fragt es Sie. Diese Seite beschreibt Möglichkeiten, wie Sie mehr tun können, als nur blind sagen Ja zu .

Fingerprint manuell prüfen

Wenn Sie zum ersten Mal eine Verbindung zu einem Computer herstellen, werden Sie darauf hingewiesen, dass die Authentizität nicht festgestellt werden kann und erhalten einen Schlüssel-Fingerabdruck zur Überprüfung. Etwas wie das:

Die Echtheit des Hosts 'mint.phcomp.co.uk (78.32.209.33)' kann nicht festgestellt werden.

Der Fingerabdruck des RSA-Schlüssels lautet 6a:de:e0:af:56:f8:0c:04:11:5b:ef:4d:49:ad:09:23.
Möchten Sie die Verbindung wirklich fortsetzen (ja/nein)?  Nein


Möglicherweise stellen Sie fest, dass der Fingerabdruck in einem anderen Format angezeigt wird – lesen Sie einfach weiter.

Um den Fingerabdruck überprüfen zu können, müssen Sie wissen, was es ist. Sie werden wahrscheinlich die finden PUB Dateien in / etc / ssh / die enthalten RSA & DSA Schlüssel . Dadurch werden die Fingerabdrücke generiert, die Sie überprüfen können:

cd /etc/ssh

für Datei in *sa_key.pub
do ssh-keygen -lf $file
getan

Es macht wenig Sinn, dies zu tun, nachdem Sie sich eingeloggt haben, ein ausreichend genialer Mallory könnte das, was die oben Generierten im Handumdrehen erzeugen, so ändern, dass Sie sehen, was er Ihnen zeigen möchte. Dies muss erledigt vorher werden und Sie können es dann mit dem, was Sie sehen, überprüfen. Sie können die Fingerabdrücke ausdrucken und in Ihrer Aktentasche oder Brieftasche aufbewahren.

Displaying fingerprints in other formats

Möglicherweise stellen Sie fest, dass der Fingerabdruck in einem anderen Format erstellt wird, als Sie es haben. In diesem Abschnitt erfahren Sie, wie Sie beim Verbindung den Herstellen einer ssh- Client dazu bringen, sie in verschiedenen Formaten , und wie Sie auf dem Server anzuzeigen ssh-keygen verschiedene Formatreferenzen generieren lassen.

Sie müssen möglicherweise mischen und anpassen, je nachdem, was Sie vor sich haben und wo Sie Befehle ausführen können.

Forcing MD5 hash in hexadecimal

Dies ist das oben gezeigte Format. Sie können zwingen ssh , dies so anzuzeigen:

$ ssh -o FingerprintHash=md5 host.example.org

SHA256 in base64

Dieses neue Format sieht wie folgt aus:

Die Echtheit des Hosts 'mint.phcomp.co.uk (78.32.209.33)' kann nicht festgestellt werden.

Der RSA-Schlüsselfingerabdruck ist SHA256:jP0pfKJ9OAXt2F+LM7j3+BMalQ/2Koihl5eH/kli6A4.
Möchten Sie die Verbindung wirklich fortsetzen (ja/nein)? 

Diese können Sie anfordern mit:

$ ssh -o FingerprintHash=sha256 host.example.org

Sie können ssh-keygen anfordern , um es anzuzeigen:

ssh-keygen -l -E sha256 -f $file


Dies wird in OpenSSH 6.8 und höher verwendet. Der FingerprintHash ist in alten Versionen nicht verfügbar.

ASCII Art Visual Host Key

Dies zeigt den Hostschlüssel in einem Kästchen an und ist hoffentlich leichter zu erkennen als eine Zahlenfolge. Es kann verwendet werden, um sowohl MD5- als auch SHA256-Schlüssel anzuzeigen. Es sieht aus wie das:

Die Echtheit des Hosts 'mint.phcomp.co.uk (78.32.209.33)' kann nicht festgestellt werden.

Der RSA-Schlüsselfingerabdruck ist SHA256:jP0pfKJ9OAXt2F+LM7j3+BMalQ/2Koihl5eH/kli6A4.
+---[RSA 2048]----+
|  |
|  |
|  .  .  |
|  +.  .  = |
|  .  S= o + |
|  .oo+.. oo|
|  E.=***.= + |
|  .=*=BoXo+ |
|  .o+=o=+*o.  |
+----[SHA256]-----+
Möchten Sie die Verbindung wirklich fortsetzen (ja/nein)? 

Sie können anfordern ssh , um es so anzuzeigen:

$ ssh -o VisualHostKey=yes host.example.org

Sie können MD5- oder SHA256-Schlüssel anfordern, z. B.:

$ ssh -o VisualHostKey=yes -o FingerprintHash=sha256 host.example.org

Auf dem Server wird ssh-keygen angezeigt, wenn die -v angegeben wird Option . Kombinieren Sie dies mit -E md5 oder -E sha256 für den Fingerabdruck-Hash-Algorithmus:

ssh-keygen -lv -E sha256 -f $file

Checking of a ssh server key via DNS

Sie können den Fingerabdruck des Serverschlüssels in DNS (Domain Name System) einfügen und von ssh erfahren, ob die beiden Fingerabdrücke übereinstimmen. Dies ist keine Garantie, aber es erschwert Mallorys Arbeit, da er sowohl DNS als auch ssh fälschen muss, was möglich ist, da nur wenige Domains implementieren DNSSEC .

Configuring DNS

Generieren Sie die SSHFP-Fingerabdruckinformationen für den DNS:

cd /etc/ssh

für Datei in *sa_key.pub
do ssh-keygen -r freshmint.phcomp.co.uk -f $file -g
getan
freshmint.phcomp.co.uk IN TYPE44 \# 22 02 01 e8fe15b374207a2e6ee99bbbadc87ecd068c17f8
freshmint.phcomp.co.uk IN TYPE44 \# 22 01 01 e5091496bda76d015e89db0bf925ffb1b9d8facb

Die obige Ausgabe sollte für Bind-Versionen vor 9.5.0a1 verwendet werden , danach wird der SSHFP- RR-Typ verstanden:

freshmint.phcomp.co.uk IN SSHFP 02 01 e8fe15b374207a2e6ee99bbbadc87ecd068c17f8

freshmint.phcomp.co.uk IN SSHFP 01 01 e5091496bda76d015e89db0bf925ffb1b9d8facbGeben Sie die obigen 2 RR (Ressourceneinträge) in das DNS für den Computer ein. Der komplette Datensatz für die Maschine sieht so aus: freshmint IN A 78.32.209.33 
               IN AAAA 2001:4d48:ad51:2f00::2:2 
               IN MX 10 frische Minze 
               IN SSHFP 1 1 b4b8f2f051a16f57f69590c7c06aeaad039a3882 
               IN SSHFP 2 1 ea35c2064a5fc2ec9f51da2e7c790966f9844e59 
mint IN CNAME freshmintÜberprüfen Sie mit ob dieses DNS-Update korrekt ist host -a your.machine.name , . Sie sollten die SSHFP- Zeilen wie oben sehen, obwohl sie bei alten Versionen Host- möglicherweise nicht richtig angezeigt werden, sondern wie: freshmint.phcomp.co.uk. 259200 IN TYP44 \# 22 0101b4b8f2f051a16f57f69590c7c06aeaad039a3882 
freshmint.phcomp.co.uk. 259200 IN TYP44 \# 22 0201ea35c2064a5fc2ec9f51da2e7c790966f9844e59 

Using the DNS SSHFP RR

Konfigurieren Sie Ihren lokalen ssh-Client, tun Sie dies nur für die Bearbeitung von $HOME/.ssh/config oder systemweit /etc/ssh/ssh_config (auf Minix: /usr/pkg/etc/ssh/ssh_config ):VerifyHostKeyDNS ask

Sie können dies auch in der Befehlszeile beim Verbinden angeben. Beachten Sie, wie Ihnen mitgeteilt wird, wie der DNS-Fingerabdruck übereinstimmt:

ssh -o VerifyHostKeyDNS=fragen freshmint.phcomp.co.uk

Die Authentizität des Hosts 'freshmint.phcomp.co.uk (2001:4d48:ad51:2f00::2:2)' kann nicht festgestellt werden. 
Der Fingerabdruck des RSA-Schlüssels lautet 6a:de:e0:af:56:f8:0c:04:11:5b:ef:4d:49:ad:09:23. 
Übereinstimmender Hostschlüssel-Fingerabdruck im DNS gefunden. 
Sind Sie sicher, dass Sie die Verbindung fortsetzen möchten (ja/nein)? Wenn der Fingerabdruck im DNS nicht übereinstimmt, sehen Sie Folgendes – vielleicht haben Sie ähnliches schon einmal gesehen, aber dies ist bei einer ersten Verbindung: ssh -o VerifyHostKeyDNS=ask freshmint.phcomp.co.uk 
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@ 
@ WARNUNG: REMOTE HOST IDENTIFIKATION HAT SICH GEÄNDERT! @ 
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@ 
ES IST MÖGLICH, DASS JEMAND ETWAS BÖSE TUN! 
Jemand könnte Sie gerade belauschen (Man-in-the-Middle-Angriff)! 
Es ist auch möglich, dass der RSA-Hostschlüssel gerade geändert wurde. 
Der Fingerabdruck für den vom Remote-Host gesendeten RSA-Schlüssel lautet 
6a:de:e0:af:56:f8:0c:04:11:5b:ef:4d:49:ad:09:23. 
Bitte kontaktieren Sie Ihren Systemadministrator. 
Aktualisieren Sie den SSHFP-RR im DNS mit dem neuen Hostschlüssel, um diese Nachricht zu entfernen. 
Die Authentizität des Hosts 'freshmint.phcomp.co.uk (2001:4d48:ad51:2f00::2:2)' kann nicht festgestellt werden. 
Der Fingerabdruck des RSA-Schlüssels lautet 6a:de:e0:af:56:f8:0c:04:11:5b:ef:4d:49:ad:09:23. 
Kein übereinstimmender Hostschlüssel-Fingerabdruck im DNS gefunden. 
Möchten Sie die Verbindung wirklich fortsetzen (ja/nein)?  

Other things of interest

Passwortlose Anmeldung mit SSH ( https://www.phcomp.co.uk/Tutorials/Unix-And-Linux/ssh-passwordless-login.html )

References

  1. OpenSSH/Cookbook ( https://en.wikibooks.org/wiki/OpenSSH/Cookbook/Public_Key_Authentication#Downloading_keys )
  2. ssh-Manpage
  3. ssh-keygen-Manpage
  4. ssh_config-Manpage


Technical bits

Sie müssen dieses Bit nicht wirklich verstehen, um das Obige zu verwenden; Wenn Sie jedoch ein technischer Nerd sind, sollten Sie es wissen.

Schlüsseltypen, dies ist die erste Zahl im SSHFP RR: # RSA — 1 — ein von Ron Rivest, Adi Shamir und Leonard Adleman erfundener Verschlüsselungsalgorithmus mit öffentlichem Schlüssel ( http://en.wikipedia.org/wiki/RSA_%28algorithm%29 )

  1. DSA — 2 — Digitaler Signaturalgorithmus ( http://en.wikipedia.org/wiki/Digital_Signature_Algorithm )
  2. ECDSA — 3 — Elliptic Curve Digital Signature Algorithm ( http://en.wikipedia.org/wiki/Elliptic_Curve_DSA )


Wo die Schlüsseltypen verwendet werden: # SSH-Version 1 – verwendet nur RSA. Sie sollten SSH Version 1 nicht verwenden, sie gilt nicht mehr als sicher

  1. SSH-Version 2 – RSA & DSA
  2. DNS SSHFP RR — RSA, DSA & kürzlich (2012) ECDSA ( http://www.iana.org/assignments/dns-sshfp-rr-parameters/dns-sshfp-rr-parameters.xml )
  3. Die zweite Zahl im SSHFP RR ist der Fingerabdrucktyp:
  4. SHA-1 — 1 — sicherer Hash-Algorithmus 1 ein 160-Bit-Nachrichtenauszug ( http://en.wikipedia.org/wiki/Sha-1 )
  5. SHA-256 — 2 — sichere Hash-Algorithmus 2 Familie ein 256-Bit-Nachrichtenauszug ( http://en.wikipedia.org/wiki/Sha-256 )


Hintergrund

Erhöhen Sie die Sicherheit, indem Sie die Identität des Computers überprüfen, mit dem Sie sich mit ssh per Auge und mit SSHFP in DNS verbinden.

Mit ssh können Sie eine Verbindung zu einem Remote-Computer herstellen, wobei die Daten zwischen den beiden Computern verschlüsselt werden. Sie können dann sicher tun: Kommandozeilen-Login, Dateikopie, Tunnel anderer Protokolle (zB: rsync, X11), ... Sie authentifizieren sich entweder durch Eingabe eines Passworts oder Schlüsselaustausch .

Eine große Schwachstelle ist ein Man-in-the-Middle-Angriff, bei dem eine böswillige Snooping-Einheit (Mallory) zwischen Ihnen und dem Remote-Computer den gesamten Datenverkehr abfängt, entschlüsselt und erneut verschlüsselt, bevor er weitergesendet wird. Mallory kann dies schnell genug tun, sodass Sie sich seiner Existenz nicht bewusst sind.

Zum Schutz gegen dem Ihr ssh Programm prüft die Fernbedienung des SSH Servers Fingerabdruck mit dem Fingerabdruck vom letzten Mal gespeichert angeschlossen. Wenn sich der Fingerabdruck geändert hat, werden Sie gewarnt und gefragt, ob Sie fortfahren möchten. In openssh (dem ssh, das auf den meisten Linux-Systemen verwendet wird) wird dieser Fingerabdruck in $HOME/.ssh/known_hosts gespeichert .

Der Fingerabdruck ist eine Kurzversion des öffentlichen Schlüssels des Servers; Es ist für Sie einfacher zu überprüfen als der vollständige Schlüssel. Es ist sehr schwer, einen anderen öffentlichen Schlüssel mit demselben Fingerabdruck zu fälschen.