Hallo zusammen,
ich möchte per SSH auf einen Server zugreifen und würde gerne den Host
authentifizieren, indem ich z.B. den öffentlichen SSH Key vom Server in
meiner Known Hosts hinterlege oder initial den Fingerprint vergleiche.
Nun habe ich eine vom Dateinamen her wenig Aussagekräftige .pub-Datei
zugesendet bekommen, in der sich jedoch scheinbar kein direkt
übertragbarer SSH-Key befindet, sondern eine längere verschlüsselte
Zeichenfolge befindet:
-----BEGIN PGP MESSAGE-----
Version: GnuPG v1
...etwas mehr als 40 Zeilen á 64 Zeichen Buchstabensalat...
-----END PGP MESSAGE-----
Preisfrage:
Ist das der verschlüsselte und Base64 codierte PublicKey oder etwas
anderes?
Und lässt sich der Key von mir in einen Fingerprint oder einen SSH-Key
für die Known Hosts umwandeln, oder muss ich dafür den Absender nochmal
anschreiben?
Und wie kann man eigentlich erkennen, um was genau es sich bei diesem
Zeichensalat handelt, wenn der Dateiname absolut Null Hinweise darauf
gibt?
Betriebssystem ist OS X.
Vielen Dank,
Lefty
c.m. schrieb:> in deine authorized_keys eintägst.
Lefty hat doch ganz klar geschrieben, dass er den öffentlichen Schlüssel
in die .known_hosts eintragen will! Dies ist doch die korrekte
Vorgehensweise, um eine Authentifizierung des Servers durchzuführen,
denn der Server authentisiert sich, indem er seine Nachrichten mit
seinem geheimen Schlüssel signiert.
Früher(tm), d.h. bei älteren SSH-Version, waren die Einträge in
.known_hosts gut lesbar, aber seit einiger Zeit sind die darin
enthaltenen Hostnamen gehasht. Deswegen kann man z.B. Einträge nur noch
mit "ssh-keygen" manipulieren, z.B. mittels "-R" löschen. Jedoch ist es
nach wie vor möglich, die Inhalte von erhaltenen id_rsa.pub einfach
zeilenweise anzuhängen, was aber ggf. die Hostnamen offenbart. Daher
kann man die Inhalte der known_hosts auch noch nachträglich hashen, d.h.
mit "ssh-keygen -H".
Statt aber die Einträge manuell hinzuzufügen, kann man natürlich auch
auf das automatische Hinzufügen setzen und die Hashwerte anschließend
manuell vergleichen.
Die Verwendung eines GPG-Schlüssels für SSH wird hier beschrieben,
allerdings für das Login und nicht die Authentifizierung des Servers:
https://budts.be/weblog/2012/08/ssh-authentication-with-your-pgp-key
Md M. schrieb:> Das ist ein PGP Key zum Verschlüsseln von Emails und hat mit SSH gar> nichts zu tun.
PGP/GPG hat noch gänzlich andere Verwendungszwecke als die
E-Mail-Verschlüsselung. Bei Deinem Halb- bzw. Zehntelwissen sollte man
sich also mit solch generellen Aussagen deutlich zurückhalten. Ich habe
in meinem anderen Beitrag auch einen entsprechenden Link aufgeführt.
Andreas S. schrieb:>> Das ist ein PGP Key zum Verschlüsseln von Emails und hat mit SSH gar>> nichts zu tun.>> PGP/GPG hat noch gänzlich andere Verwendungszwecke als die> E-Mail-Verschlüsselung.
Ist mir klar.
Ich wollte eigentlich auch was anderes schreiben, nämlich als Antwort
auf
> Und wie kann man eigentlich erkennen, um was genau es sich bei diesem> Zeichensalat handelt
dass es sich wohl um eine
> PGP MESSAGE
und keinen key handelt.
Andreas S. schrieb:> Bei Deinem Halb- bzw. Zehntelwissen sollte man> sich also mit solch generellen Aussagen deutlich zurückhalten.
Kack wen anders an. Ja, war ein bisschen generell. Ok?
Andreas S. schrieb:> Md M. schrieb:>> Das ist ein PGP Key zum Verschlüsseln von Emails und hat mit SSH gar>> nichts zu tun.>> PGP/GPG hat noch gänzlich andere Verwendungszwecke als die> E-Mail-Verschlüsselung. Bei Deinem Halb- bzw. Zehntelwissen sollte man> sich also mit solch generellen Aussagen deutlich zurückhalten. Ich habe> in meinem anderen Beitrag auch einen entsprechenden Link aufgeführt.
Er hat aber Recht. Was der TO da hat ist offensichtlich PGP, und dazu
wie schon gesagt auch eine PGP-verschlüsselte Nachricht und erstmal kein
Key. Ja, man kann PGP-Keys mit SSH benutzen aber das haben vielleicht
fünf Leute auf der Welt je gemacht und es ist bestimmt nicht das was der
TO will ...
Wahrscheinlich hat dir irgendein Tool oder Anbieter den (ssh) private
key verschlüsselt zugeschickt ... keine Ahnung. Ist alles komisch. Was
du da hast ist jedenfalls eine PGP-verschlüsselte Nachricht, die du nur
anschauen kannst wenn du den dazu passenden (pgp) private key hast.
Die normale Variante ist, ssh-keygen lokal (!) aufrufen und dann nur den
Public Key auf den Server kopieren, in .ssh/authorized_keys. Wenn das
jemand anders macht, ist die normale Variante dass du den Key generierst
und ihm dann den public-Teil per Mail schickst, nicht andersrum.
Sven B. schrieb:> Die normale Variante ist, ssh-keygen lokal (!) aufrufen und dann nur den> Public Key auf den Server kopieren, in .ssh/authorized_keys.
neuerdings mit ssh-copy-id - ein rumeditieren mehr nötig.
Hallo zusammen,
also der Server meldet sich mit:
ECDSA key fingerprint is SHA256 ...
Aber so wie ich euch verstehe muss ich eh nach dem richtigen SSH-Key
fragen, weil sich das nicht mal eben umwandeln lässt.
Vielen Dank für die Unterstützung erstmal.
Viele Grüße
Lefty
Lefty schrieb:> also der Server meldet sich mit:> ECDSA key fingerprint is SHA256 ...
Der zeigt dir seine "Kennung". Die solltest du auf einem extra Weg
überprüfen, indem du z.B. den den Serverbetreiber nach dieser Kennung
fragst. Damit wird nur verhindert, dass beim initialen Aufbau bereits
jemand die Verbindung manipuliert.
Hier hat das ein Webhoster ganz nett erklärt:
"Hier wirst Du beim ersten Login aufgefordert den Fingerprint des Hosts
(in diesem Fall amnesia.uberspace.de) durch Klicken auf Ja oder Yes zu
bestätigen. Bitte schau auf deinem Datenblatt (Login erforderlich) nach;
wir zeigen dir dort an, welche Fingerprints korrekt sind. Bekommst du
einen anderen Fingerprint angezeigt, wende dich bitte an uns, damit wir
das klären können. Bestätigst du den Fingerprint, wird dieser nun in der
Konfiguration von PuTTY dauerhaft hinterlegt."
https://wiki.uberspace.de/system:ssh
DEIN Betriebssystem ist OS X?
Dann mach einfach ein ssh auf den Server. Bei der Frage ob du
weitermachen willst, tippe yes ein.
Dann wird der public-Teil des Servers in deiner ~/.ssh/known_hosts
gespeichert:
1
ssh localhost
2
The authenticity of host 'localhost (::1)' can't be established.
3
ECDSA key fingerprint is SHA256:3Unzi1TI/EPezk/6J22ilCF5KfHDXs2rnzLSeOyiMww.
4
Are you sure you want to continue connecting (yes/no)? yes
5
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
Willst du dich allerdings dort ohne Passwort einloggen, ist das schon
oben beschrieben (ssh-keygen und ssh-copy-id).