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
das geht normalerweise anders herum. der client erstellt einen public key und kopiert ihn in die authorized_keys des servers. was du jetzt hast ist, das der server sich bei dir (client) einloggen kann, wenn du den gelieferten .pub key in deine authorized_keys eintägst. beispiel: http://www.thegeekstuff.com/2008/11/3-steps-to-perform-ssh-login-without-password-using-ssh-keygen-ssh-copy-id
Das ist ein PGP Key zum Verschlüsseln von Emails und hat mit SSH gar nichts zu tun.
:
Bearbeitet durch User
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?
:
Bearbeitet durch User
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.
:
Bearbeitet durch User
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).
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.