ssh-keygen funktioniert nur für root?

7

Funktioniert ssh-keygen -t rsa, wenn es nur für den Root-Benutzer festgelegt ist?

dh wenn der Benutzername auf dem lokalen System Natrium ist und ich den Schlüssel mit dem oben genannten Befehl generiere und auf dem fernen System, wenn ich den Schlüssel in /root/.ssh autorisierte_Tasten platziere, funktioniert dies.

Aber auf dem Remote-System, wenn der Schlüssel in /home/natrium/.ssh Authorized_keys abgelegt ist

Dies fordert immer noch zur Eingabe eines Kennworts auf. Ist dies das erwartete Verhalten oder ist etwas in der obigen Prozedur falsch?

Vielen Dank..

Hulk
quelle

Antworten:

5

Überprüfen Sie die Berechtigungen auf dem Remote-System:

$ chmod 700 ~/.ssh
$ chmod 600 ~/.ssh/authorized_keys

Es gibt ein Tool, das in Ihrem dist installiert werden könnte (Ubuntu / Debian hat es): ssh-copy-id, das dies für Sie erledigt:

$ ssh-copy-id <remote>

Wenn dies nicht funktioniert, versuchen Sie ssh mit der Option "-v", um ausführlichere Nachrichten 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
rkthkr
quelle
2

Überprüfen Sie die Berechtigungen von ~ Natrium / .ssh / Authorized_keys bis zu /. Wenn es sich bei diesen um weltweit beschreibbare SSH-Schlüssel handelt, wird ihnen nicht vertraut.

Führen Sie ssh-keygen als den 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 möchten.

ssh-copy-id kopiert IDs vom Zielcomputer auf den Computer, auf dem Sie den Schlüssel verwenden möchten.

BillThor
quelle
0

Versuche dies:

ssh -v [email protected]

Möglicherweise versuchen Sie, sich bei remote4 system as anzumelden sodium, aber Sie haben den Schlüssel für installiert natrium.

Lexsys
quelle
0

Wo Sie die Schlüssel generieren, spielt keine Rolle, wo Sie sie speichern.

Wenn Sie SSH von einem Computer auf einen anderen übertragen möchten, muss sich der private Schlüssel im Ordner .ssh des Kontos befinden, von dem aus Sie SSHing als id_rsa ausführen, und der öffentliche Schlüssel muss sich in der Datei .ssh / authorized_keys in dem Konto befinden, in dem Sie sich befinden sind SSHing zu. Die Schlüssel sind für Benutzer, nicht für Maschinen. Die Konten, in denen Sie sie installieren, machen also einen großen Unterschied.

Noch etwas zu beachten ist die Version von SSH, die Sie verwenden. Soweit ich weiß, sollten sich die Schlüssel für SSH2 in .ssh / authorized_keys2 befinden.

Um wirklich zu sehen, was los ist, folgen Sie am besten den Anweisungen von Lexsys und ssh im ausführlichen Modus mit dem Flag -v.

Bart B.
quelle