Funktioniert ssh-keygen -t rsa, wenn es nur für den Root-Benutzer festgelegt ist?
Wenn der Benutzername auf dem lokalen System beispielsweise „Sodium“ lautet und ich den Schlüssel mit dem oben genannten Befehl generiere und wenn ich den Schlüssel auf dem Remote-System in „/root/.ssh authorized_keys“ platziere, funktioniert dies.
Aber auf dem Remote-System, wenn der Schlüssel in /home/natrium/.ssh authorized_keys platziert ist
Es wird immer noch nach einem Passwort gefragt. Ist das das erwartete Verhalten oder stimmt etwas mit dem obigen Verfahren nicht?
Danke..
Antwort1
Überprüfen Sie die Berechtigungen auf dem Remote-System:
$ chmod 700 ~/.ssh
$ chmod 600 ~/.ssh/authorized_keys
Es gibt ein Tool namens:SSH-Kopie-IDwelches dies für Sie erledigt:
$ ssh-copy-id <remote>
Wenn das nicht funktioniert, versuchen Sie SSH mit der Option „-v“, um ausführlichere Meldungen anzuzeigen.
Lange Version:
#From client to server
client$ scp ~/.ssh/id_rsa.pub remote_server.org:
# next, setup the public key on server
server$ mkdir ~/.ssh
server$ chmod 700 ~/.ssh
server$ cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
server$ chmod 600 ~/.ssh/authorized_keys
server$ rm ~/id_rsa.pub
Antwort2
Überprüfen Sie die Berechtigungen von ~sodium/.ssh/authorized_keys bis /. Wenn einer dieser Schlüssel allgemein beschreibbar ist, werden SSH-Schlüssel nicht als vertrauenswürdig eingestuft.
Führen Sie ssh-keygen als der Benutzer aus, für den Sie den Schlüssel benötigen. Es sollte auf dem System ausgeführt werden, mit dem Sie eine Verbindung herstellen.
ssh-copy-id kopiert IDs von der Zielmaschine auf die Maschine, auf der Sie den Schlüssel verwenden möchten.
Antwort3
Versuche dies:
ssh -v [email protected]
Möglicherweise versuchen Sie, sich beim Remote4-System als anzumelden sodium
, aber Sie haben den Schlüssel für installiert natrium
.
Antwort4
Wo Sie die Schlüssel generieren, spielt keine Rolle. Wichtig ist, wo Sie sie speichern.
Wenn Sie per SSH von einem Rechner auf einen anderen zugreifen möchten, muss sich der private Schlüssel im Ordner .ssh des Kontos befinden, von dem aus Sie als id_rsa per SSH zugreifen, und der öffentliche Schlüssel muss sich in der Datei .ssh/authorized_keys des Kontos befinden, mit dem Sie per SSH zugreifen. Die Schlüssel sind für Benutzer, nicht für Rechner. Daher machen die Konten, in denen Sie sie installieren, einen großen Unterschied.
Außerdem müssen Sie die von Ihnen verwendete SSH-Version berücksichtigen. So wie ich es verstehe, sollten sich die Schlüssel für SSH2 in .ssh/authorized_keys2 befinden.
Um schließlich wirklich zu sehen, was vor sich geht, folgen Sie am besten den Anweisungen von Lexsys und führen Sie SSH im ausführlichen Modus mit dem Flag -v aus.