Der Befehl ssh-add fügt dem ssh-agent nicht meine Identität hinzu
20
Ich habe gerade Ubuntu 13.10 installiert und wollte gerade meine Identität zu meinem SSH-Agenten hinzufügen, also habe ich ein Terminal geöffnet und dies getan
bjorgvin@buntu:~$ ssh-add -l
The agent has no identities.
bjorgvin@buntu:~$ ssh-add
bjorgvin@buntu:~$ ssh-add -l
The agent has no identities.
bjorgvin@buntu:~$
ssh-add fügt dem Authentifizierungsagenten ssh-agent (1) private Schlüsselidentitäten hinzu. Wenn es ohne Argumente ausgeführt wird, werden die Dateien ~ / .ssh / id_rsa, ~ / .ssh / id_dsa, ~ / .ssh / id_ecdsa und ~ / .ssh / identity hinzugefügt. [...]
Identitätsdateien sollten nur vom Benutzer gelesen werden können. Beachten Sie, dass ssh-add Identitätsdateien ignoriert, wenn andere darauf zugreifen können.
Aufgrund eines The agent has no identities.Fehlers verfügen Sie wahrscheinlich nicht über diese Dateien, oder möglicherweise können andere auf diese Dateien zugreifen. Sie können dies mit dem folgenden Befehl überprüfen:
ls -l ~/.ssh
Führen Sie außerdem nach dem Ausführen des ssh-addBefehls Folgendes ausecho $? den Fehlerstatus des vorherigen Befehls anzuzeigen. Wenn der Beendigungsstatus 0 zurückgab, wurde der Befehl erfolgreich ausgeführt. Wenn der Beendigungsstatus einen Wert ungleich Null zurückgab, konnte der Befehl nicht ausgeführt werden.
stimmt, ich habe diese Dateien nicht und der Exit-Wert von ssh-addwar 1, aber nicht 0. Es gibt offensichtlich ein Problem mit meinen Berechtigungen, da die Dateien nicht erstellt werden. Irgendeine Idee, wie ich das beheben könnte? das verzeichnis ~/.sshexistiert (ist leer) aber es wird nicht ls -l
angezeigt
Ich habe diesen Befehl ausgeführt, ssh-keygen -q -t rsa -N 'password' -f ~/.ssh/id_rsaalso hat man ssh-keygen geholfen, danke.
Bjorgvin
1
Das hat mir den Importhinweis in die richtige Richtung gegeben. Ich hatte mehrere SSH-Schlüssel und musste zuerst den richtigen Schlüssel mit ssh-add <Schlüsselname> hinzufügen. Dann hat es geklappt wie ein Charme. thx
paulroho
3
Aus irgendeinem Grund hatte ich keine Ausgabe, als ich ssh-addnach der Eingabe der Passphrase lief (es schlug $?fehl, wie in Kapitel 1 beschrieben). Ich habe es chmod 600 ~/.ssh/id_rsa* ohne Glück versucht . Ich habe einen neuen Schlüssel von Grund auf neu generiert ssh-keygenund dann hat es funktioniert. Traurig, aber es ist zumindest ok now (Der fehlgeschlagene Schlüssel wurde mit generiert ssh-keygen -t rsa -b 4096 -C "[email protected]", ich lief ssh-keygendiesmal nur stattdessen.)
GabLeRoux
1
Ich musste in dieser Reihenfolge Folgendes tun: (Generieren Sie ggf. einen neuen SSH-Schlüssel, und stellen Sie sicher, dass Sie den PUB-Schlüssel zu Github hinzufügen.) cd ~/.ssh && ls -lahÄndern Sie anschließend alle Schlüssel, um die Lese- / Schreibberechtigungen im SSH-Ordner anzuzeigen mit) chmod 400 myKeydann , ssh-add **ABSOLUTE**pathToKey wenn Sie das nicht stimmen ABSOLUTE Weg, es wird nicht funktionieren. Dann testen Sie es mitssh -vT [email protected]
jungledev
3
Zusätzlich zu den obigen Überlegungen stellte ich fest, dass Sie möglicherweise eine alternative Shell konfigurieren müssen, um ssh-agent zu laden. Zum Beispiel in Zsh, muss man hinzufügen , ssh-agentum pluginsin .zshrc.
Diese Methode funktioniert hervorragend unter Ubuntu 17.10 mit der neuesten Version von Zsh
Andere fanden, dass mit id_ed25519Schlüsseln, rsaohne ein Plugin funktioniert. Starten Sie die Shell nach dem Hinzufügen ssh-agentzu ~/.zshrcmit neu exec "$SHELL"und führen Sie Folgendes aus:ssh-add ~/.ssh/id_ed25519
Enter passphrase for ~/.ssh/id_ed25519:
Identity added: ~/.ssh/id_ed25519 (user@host)
ssh-add
war 1, aber nicht 0. Es gibt offensichtlich ein Problem mit meinen Berechtigungen, da die Dateien nicht erstellt werden. Irgendeine Idee, wie ich das beheben könnte? das verzeichnis~/.ssh
existiert (ist leer) aber es wird nichtls -l
ssh-keygen -q -t rsa -N 'password' -f ~/.ssh/id_rsa
also hat man ssh-keygen geholfen, danke.ssh-add
nach der Eingabe der Passphrase lief (es schlug$?
fehl, wie in Kapitel 1 beschrieben). Ich habe eschmod 600 ~/.ssh/id_rsa*
ohne Glück versucht . Ich habe einen neuen Schlüssel von Grund auf neu generiertssh-keygen
und dann hat es funktioniert. Traurig, aber es ist zumindest ok now (Der fehlgeschlagene Schlüssel wurde mit generiertssh-keygen -t rsa -b 4096 -C "[email protected]"
, ich liefssh-keygen
diesmal nur stattdessen.)cd ~/.ssh && ls -lah
Ändern Sie anschließend alle Schlüssel, um die Lese- / Schreibberechtigungen im SSH-Ordner anzuzeigen mit)chmod 400 myKey
dann ,ssh-add **ABSOLUTE**pathToKey
wenn Sie das nicht stimmen ABSOLUTE Weg, es wird nicht funktionieren. Dann testen Sie es mitssh -vT [email protected]
Zusätzlich zu den obigen Überlegungen stellte ich fest, dass Sie möglicherweise eine alternative Shell konfigurieren müssen, um ssh-agent zu laden. Zum Beispiel in Zsh, muss man hinzufügen ,
ssh-agent
umplugins
in.zshrc
.Diese Methode funktioniert hervorragend unter Ubuntu 17.10 mit der neuesten Version von Zsh
Andere fanden, dass mit
id_ed25519
Schlüsseln,rsa
ohne ein Plugin funktioniert. Starten Sie die Shell nach dem Hinzufügenssh-agent
zu~/.zshrc
mit neuexec "$SHELL"
und führen Sie Folgendes aus:ssh-add ~/.ssh/id_ed25519
quelle