soundinle
Goto Top

Ssh-login mit privatem Schlüssel, der dem Server nicht bekannt ist - möglich?

Hallo zusammen und frohe Festtage wünsche ich euch face-smile

Beim Versuch, mit meinem Android-Smartphone und der App "JuiceSSH" zu meinem "freesshd-Server" eine Verbindung aufzubauen, bin ich auf die folgende Supportseite von "JuiceSSH" gestoßen, die mich sicherheitstechnisch doch recht verwundert:

https://juicessh.com/faq/how-do-i-generate-an-ssh-key-within-juicessh

Auf der Seite wird beschrieben, wie man smartphoneseits einen SSH-Schlüssel erstellt und diesen auf den SSH-Server hochladen kann, so dass der Key vom Server akzeptiert wird. Nun widerspricht es ja eigentlich dem Sicherheitsgedanken von SSH, dass man selbst als unbekannter User dem Server irgendwelche Schlüssel anbieten kann, mit denen er dann eine Verbindung herstellt - das soll ja gerade nicht der Fall sein.

Oder muss ich die Seite so verstehen - und da würde ich gerne eure Interpretationen hören - dass man zwar mit dem Smartphone den Key erstellt, man zum Hochladen desselben aber eine Verbindung über die Eingabe eines ganz "normalen" Passworts herstellt, wenn da steht, dass "SSH into the desired server. As your private key is not configured yet on the server, JuiceSSH will prompt for password authentication instead". Server sagt sich also: "Schön, dass du mir nen neuen Schlüssel anbietest, aber wenn du mir den über ne Shell mitteilen willst, gib erstmal das Passwort für den User ein".

Wäre über eure Einschätzung der Thematik sehr froh face-smile

Content-Key: 291739

Url: https://administrator.de/contentid/291739

Ausgedruckt am: 28.03.2024 um 14:03 Uhr

Mitglied: broecker
broecker 26.12.2015 aktualisiert um 08:55:51 Uhr
Goto Top
letzteres, also "alles ok".
Beim Reinkopieren in die knownhosts des Servers wird ein letztes Mal nach Deinem Passwort gefragt, danach wird es durch eine Passphrase auf dem Client abgelöst.
Oder auch durch "keine Phrase" bei einem unverschlüsselten Zertifikat, da z.B. ein unbeaufsichtigter Zugang eines Backup-Benutzers gewünscht ist.
HG und Frohe Weihnachten!
Mark
Mitglied: Lochkartenstanzer
Lochkartenstanzer 27.12.2015 um 18:09:32 Uhr
Goto Top
Moin,

Der publich key muß irgendwie zum Server kommen. Das kann dadurch gescehen, daß manihn per Datenträger dorthin kopuiert oder indem man den key per Netzwerk draufkopiert und sich dabei einer alternativen Authentifikationsmethode bedient. das kann entweder ein anderer User sein, dessen key schon auf dem Serve bekannt ist oder das herkömmliche Username/Paßwort. Man köntne natürlich den key auch unauthentifiziert kopieren lassen, was aber Mißbrauch Tür udn Tor öffnen würde udn deshalbt kaum gemacht wird.

lks
Mitglied: soundinle
soundinle 27.12.2015 um 21:43:07 Uhr
Goto Top
Vielen Dank für eure Antworten!

Okay. Verstanden. Also dieses "Reinkopieren" in die knownhosts hat quasi zur Folge, dass dem Server der Schlüssel, den ich auf dem Smartphone erstellt habe, bekannt ist. Somit ist eine Verbindung - sagen wir für den Benutzer "test" - per keyauth möglich. Dazu muss ich den Code aber auch als Benutzer "test" an den Server senden, oder? Beim Link, den ich gepostet habe, wird nämlich nirgends ein Benutzername spezifiziert ...

Durch ein bisschen rumprobieren habe ich festgestellt - was ich vorher noch nicht wusste - dass bei meinem Server die Möglichkeit existiert, zwei Authentifizierungsmethoden zur gleichen Zeit zuzulassen. Wenn ich z. B. einem Benutzer die Möglichkeit gebe, sich per Passwort zu authentifizieren, so hat er gleichzeitig die Möglichkeit - passenden Schlüssel vorausgesetzt - sich auch mit diesem zu authentifizieren. Somit wäre es folglich möglich, dass der Benutzer sich per Passwort authentifiziert und in dieser Verbindung dem Server den Schlüssel mitteilt.

Wenn ich dies aber versuche, sagt mir die Shell immer "Pfad nicht gefunden". Könnte es vielleicht sein, dass es bei "freesshd" - von einer Abänderung des Pfades einmal abgesehen - solch ein "~/.ssh/authorized_keys file" gar nicht gibt? Ich muss nämlich dort für jeden User brav z. B. mit puttygen einen Schlüssel anlegen. Ist dieses "Eintragen" vielleicht nur mit bestimmten Servern möglich?
Mitglied: broecker
broecker 28.12.2015 um 00:24:17 Uhr
Goto Top
richtig, authorized_keys, known_hosts ist etwas anderes, die Datei wird erst mit dem ersten key angelegt, je nach Kopier-Skript könnte es also fehlschlagen.
HG
Mark
Mitglied: soundinle
soundinle 28.12.2015 um 20:08:04 Uhr
Goto Top
Okay. Mal ganz abgesehen vom Kopier-Skript, dessen Pfade man noch ändern müsste - ich habe nun schon einen User angelegt, der die keyauth benutzt (vorher händisch mit puttygen ein Schlüsselpaar angelegt). Dazu habe ich dem Server mitgeteilt, wo er den öffentlichen Schlüssel für diesen User finden kann (und darauf kommt es ja schließlich serverseitig an, wenn ich das recht verstanden habe, da der private Schlüssel ja eigentlich nur auf Userseite gebraucht wird).

Doch trotz angelegtem User - sprich bereits in Benutzung befindlicher keyauth - finde ich diese besagte Datei nicht. Ich musste bisher eigentlich immer pro Benutzer eine neue Schlüsseldatei bzw. ein neues Schlüsselpaar mit puttygen erzeugen und händisch an die entsprechenden Orte kopieren. Sowas wie eine einzige Datei, in der irgendwelche Keys stehen, ist mir bisher noch nicht untergekommen. Und das macht das gerade ziemlich spannend. Ist diese Funktion bei freesshd eventuell gar nicht implementiert?