Ich habe nur wenige Client-Systeme, auf denen ich den SSH-Schlüssel drücken und mich ohne Authentifizierungsaufforderung von meinem Server aus anmelden muss.
Zuerst habe ich auf dem Server den folgenden SSH-Schlüssel erstellt, der erfolgreich war
]# ssh-keygen -t rsa -N "" -f my.key
Zweitens wurde versucht, den Pub-Schlüssel zu kopieren, dies schlägt jedoch ohne Identitätsfehler fehl. Mache ich hier einen falschen Schritt?
]# ssh-copy-id my.key.pub 10.10.1.1
/usr/bin/ssh-copy-id: ERROR: No identities found
my.key
es da istls -l my.key
? Gibt es einen Schritt, den Sie uns nicht zeigen, der einen getan hatcd
? Wahrscheinlich nicht, sondern nur als "2. Augenpaar" fragen ;-). Viel Glück.Antworten:
Sie müssen die
-i
Flagge verwenden:Von der Manpage :
quelle
~/.ssh
Ihren Schlüsseln usw. Da sich Ihremy.key
Dateien in einem anderen Verzeichnis zu befinden scheinen, versuchen Sie esssh -i /location/of/my.key 10.10.1.1
(oder ziehen Sie in Betracht, Ihre my.key-Dateien zu verschieben~/.ssh
)Das Generieren von SSH-Schlüsseln auf dem Client hat es für mich gelöst
quelle
ssh-keygen
Ich habe gerade für mich gearbeitet. Keine Angabe erforderlich-t rsa
.Führen Sie den folgenden Befehl aus
Wenn der folgende Fehler auftritt: Es konnte keine Verbindung zu Ihrem Authentifizierungsagenten hergestellt werden
Führen Sie den folgenden Befehl aus, um diesen Fehler zu beheben:
quelle
ssh-agent
führen Sie ssh-add und dann ssh-copy-id aus und alles sollte korrekt funktionieren./usr/bin/ssh-copy-id: ERROR: No identities found
bleibt auch nach dem Ausführen der obigen Befehle bestehenDie ssh-copy-id kann die von ssh-keygen in Ihrem System generierte Datei id_rsa.pub nicht finden. Verwenden Sie den folgenden Befehl, um den Vorgang abzuschließen:
locate *.pub
ssh-copy-id -i /home/user_name/.ssh/id_rsa.pub hostname
quelle
Sie müssen den Schlüssel mit der Option -i angeben.
Vielen Dank.
quelle
Der einfachste Weg ist:
Att:
Es ist sehr sehr einfach.
Im Handbuch von "ss-keygen" erklärt:
"BESCHREIBUNG ssh-keygen generiert, verwaltet und konvertiert Authentifizierungsschlüssel für ssh (1). SSh-keygen kann RSA-Schlüssel zur Verwendung durch das SSH-Protokoll Version 1 und DSA-, ECDSA- oder RSA-Schlüssel zur Verwendung durch das SSH-Protokoll Version 2 erstellen. Der Typ von Der zu generierende Schlüssel wird mit der Option -t angegeben. Wenn er ohne Argumente aufgerufen wird, generiert ssh-keygen einen RSA-Schlüssel zur Verwendung in SSH-Protokoll 2-Verbindungen. "
quelle
Alter Beitrag, aber ich hatte heute dieses Problem, googelte und fand mich hier wieder. Ich hatte es selbst herausgefunden, dachte aber, ich würde mein Problem und meine Lösung in meinem Fall teilen, um allen anderen zu helfen, die möglicherweise das gleiche Problem haben.
Problem:
Enter file in which to save the key (/root/.ssh/id_rsa):
Ich musste gerade eintretenLösung:
Stellen Sie sicher, dass Sie den Schlüssel in das Benutzerverzeichnis kopieren, mit dem Sie sich anmelden möchten, wenn Sie dies als Root tun. NICHT das Root-Benutzerverzeichnis.
Ich habe mich bei der Ausführung dieses Vorgangs auf dem Computer angemeldet, daher zeigt ssh-copy-id vermutlich nur auf das Verzeichnis, in dem Sie standardmäßig angemeldet sind.
Hoffe das hilft jedem.
quelle
stieß auf dieses, auf ein bestehendes Konto mit privatem Schlüssel, das ich manuell von einer anderen Stelle kopiert habe. Der Fehler liegt also darin, dass der öffentliche Schlüssel fehlt
also einfach eins aus privat generieren
quelle
Tatsächlich ist das Problem ssh-keygen auf einem Ubuntu-Computer nicht ordnungsgemäß ausgeführt worden. Ich habe erneut versucht zu laufen und bin in /home/user1/.ssh navigiert und konnte die Schlüssel id_rsa und id_rsa.pub sehen. dann versuchte Befehl ssh-copy-id und es funktionierte gut.
quelle
FWIW, die Option -i war für mich ein roter Hering. ssh-copy-id verwendet standardmäßig ~ / .ssh / id_rsa.pub.
Was mich davon abhielt, für mich zu funktionieren, waren die Berechtigungen für das Verzeichnis ~, das Verzeichnis ~ / .ssh und die Datei ~ / .ssh / autorisierte_keys auf dem Remotecomputer.
Alle drei müssen eingestellt werden
chmod 755 ~ ~/.ssh ~/.ssh/authorized_keys
, dannssh-copy-id your-remote-server.com
funktioniert es.quelle
Verwenden Sie einfach,
ssh-keyscan hostname
um herauszufinden, ob auf beiden Websites Schlüssel vorhanden sind:quelle
Ich hatte dieses Problem heute beim Einrichten von ssh zwischen Namensknoten und Datenknoten im vollständig verteilten Modus zwischen zwei VMs in CentOS.
Das Problem trat auf, weil ich den folgenden Befehl vom Datenknoten anstelle des Namensknotens ssh-copy-id -i /home/hduser/.ssh/id_ras.pub hduser @ HadoopBox2 ausführte
Da die öffentliche Schlüsseldatei im Datenknoten nicht vorhanden war, wurde der Fehler ausgegeben.
quelle
In meinem Fall war es die fehlende
.pub
Erweiterung eines Schlüssels. Ich habe es aus der Zwischenablage eingefügt und als gespeichertmykey
. Der folgende Befehl hat den beschriebenen Fehler zurückgegeben:Funktioniert nach dem Umbenennen mit
mv mykey mykey.pub
korrekt.quelle