Wie richte ich Open-SSH unter Debian richtig ein? Bei mir hat alles funktioniert - ich habe mich mit einem Authentifizierungsschlüssel angemeldet (PasswordAuthentication auf no gesetzt) und dann bekomme ich plötzlich eineBerechtigung verweigert (öffentlicher Schlüssel). Also habe ich SSH auf dem Server und dem Remote-Client deinstalliert. Dann steckte ich in einem Schlamassel – bei der Neuinstallation konnten keine .ssh-Verzeichnisse auf Root- oder Benutzerebene eingerichtet werden.
Geschichte:
Ich habe open-ssh auf meinem Server installiert - als root Ich habe open-ssh auf meinem Remote-Client-PC installiert - als root
Ich habe meinen öffentlichen und privaten Schlüssel auf meinem Server generiert - als Root.
Ich habe meinen öffentlichen und privaten Schlüssel auf meinem Remote-PC generiert - als Root
Ich habe eine autorisierte Schlüsseldatei im .ssh-Verzeichnis auf meinem Server erstellt - als Benutzer - und den öffentlichen Schlüssel meines Remote-PCs hineinkopiert
Ich habe meine SSH-Konfigurationsdatei so geändert, dass keine Passwortanmeldung mehr möglich ist
Meine Fragen:
Müssen Sie Open-SSH immer als Root installieren?
Wird dies in diesem Fall an alle Benutzer weitergegeben und ihnen die Berechtigung erteilt, eine SSH-Verbindung anzunehmen?
Erstellen Sie die autorisierte Schlüsseldatei als Root oder auf Benutzerebene?
Ich habe alles deinstalliert*, apt-get purge openssh-client
aber es blieben überall .ssh-Verzeichnisse zurück. Ist das unter Linux üblich und ist es in Ordnung, diese übrig gebliebenen Verzeichnisse einfach manuell zu löschen?
Prost
Antwort1
Ihnen scheinen einige Elemente in Ihrem Verständnis zu fehlen -
In der Praxis müssen Sie Open SSH als Root installieren – standardmäßig kommuniziert es über Port 22, der Root vorbehalten ist. Sie können es wahrscheinlich so einrichten, dass es über einen nicht standardmäßigen Port über 1024 (normalerweise 2222) antwortet.
ssh wird nicht „nach unten weitergegeben“ – es läuft als Daemon. Es sucht jedoch normalerweise in den Home-Verzeichnissen der Benutzer nach ~user/.ssh/authorised_keys
Normalerweise erstellen Sie für jeden Benutzer im System eine authorized_keys-Datei. Beachten Sie, dass der SSH-Server auch seine eigenen Schlüssel hat, die normalerweise in /etc/sshd zu finden sind.
Wenn dort nichts außer SSH-Sachen ist, die Sie nicht brauchen, können Sie die .ssh-Schlüssel in den Home-Verzeichnissen problemlos manuell löschen. Sie können sie auch belassen, da Client und Server zwei verschiedene Dinge sind, aber in manchen Fällen beide dasselbe Verzeichnis verwenden.
Schlüsselverwaltung -
Normalerweise erstellen Sie auf Ihrem Client einen privaten und einen öffentlichen Schlüssel und fügen dann den öffentlichen Schlüssel in ~user/.ssh/authorized_keys zu Ihrem Server hinzu. Sie müssen für den Benutzer keinen privaten oder öffentlichen Schlüssel auf dem Server generieren – es sei denn, Sie möchten zusätzlich, dass dieser Benutzer den Server als SSH-Client verwendet.
Schlüssel gehören im Allgemeinen dem Benutzer, dem sie gehören, und private Schlüssel verfügen über eine Berechtigung von 600. Die Schlüssel können auch root gehören, aber dann kann der Benutzer sie nicht ändern.