Komenda ssh-add nie dodaje mojej tożsamości do ssh-agent
20
Właśnie zainstalowałem Ubuntu 13.10 i miałem właśnie dodać swoją tożsamość do mojego agenta ssh, więc otworzyłem Terminal i zrobiłem to
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 dodaje tożsamość klucza prywatnego do agenta uwierzytelniania, ssh-agent (1). Po uruchomieniu bez argumentów dodaje pliki ~ / .ssh / id_rsa, ~ / .ssh / id_dsa, ~ / .ssh / id_ecdsa i ~ / .ssh / ident.. [...]
Pliki tożsamości nie powinny być odczytywane przez nikogo poza użytkownikiem. Zauważ, że ssh-add ignoruje pliki tożsamości, jeśli są dostępne dla innych.
Tak więc, z powodu The agent has no identities.błędu, prawdopodobnie nie masz tych plików, a może te pliki są dostępne dla innych. Możesz to sprawdzić za pomocą następującego polecenia:
ls -l ~/.ssh
Ponadto po uruchomieniu ssh-addpolecenia uruchom, echo $?aby zobaczyć status błędu poprzedniego polecenia. Jeśli status wyjścia zwrócił 0, polecenie zostało wykonane pomyślnie. Jeśli status wyjścia zwrócił wartość niezerową, wykonanie polecenia nie powiodło się.
prawda, nie mam tych plików, a wartość wyjściowa ssh-addto 1, ale nie 0. Oczywiście mam pewien problem z moimi uprawnieniami, ponieważ pliki nie są tworzone. Masz pomysł, jak to naprawić? katalog ~/.sshistnieje (jest pusty), ale nie pokazuje się, kiedy to robięls -l
bjorgvin,
Uruchomiłem to polecenie, ssh-keygen -q -t rsa -N 'password' -f ~/.ssh/id_rsawięc pomógł mi ssh-keygen , dzięki.
bjorgvin
1
To dało mi wskazówkę dotyczącą importu we właściwym kierunku. Miałem wiele kluczy ssh i najpierw musiałem dodać odpowiedni klucz za pomocą ssh-add <nazwa_klucza>. Potem zadziałało jak zaklęcie. thx
paulroho,
3
Z jakiegoś powodu nie miałem żadnych danych wyjściowych podczas uruchamiania ssh-addpo wprowadzeniu hasła (nie powiodło się zgodnie z $?returing 1. Próbowałem chmod 600 ~/.ssh/id_rsa* bez powodzenia. Wygenerowałem nowy klucz od zera ssh-keygeni wtedy zadziałało. Smutne, ale przynajmniej to jest ok teraz (Nie udało się wygenerować klucza przy użyciu ssh-keygen -t rsa -b 4096 -C "[email protected]", ssh-keygentym razem uruchomiłem tylko zamiast tego).
GabLeRoux
1
Musiałem wykonać następujące czynności w tej kolejności: (w razie potrzeby wygeneruj nowy klucz ssh i upewnij się, że dodałeś klucz .pub do github), a następnie, cd ~/.ssh && ls -lahaby zobaczyć uprawnienia do odczytu / zapisu w folderze .ssh, zmień wszystkie klucze ) przy chmod 400 myKeyczym ssh-add **ABSOLUTE**pathToKey , jeśli nie dodać ABSOLUTE ścieżkę, to nie będzie działać. Następnie przetestuj za pomocąssh -vT [email protected]
Jungledev
3
Oprócz powyższych rozważań, odkryłem, że jeśli używasz alternatywnej powłoki, być może będziesz musiał ją skonfigurować, aby ładowała ssh-agent. Na przykład, w zsh, należy dodać ssh-agentdo pluginsIN .zshrc.
Ta metoda działa świetnie na Ubuntu 17.10 z najnowszym Zsh
Inni stwierdzili, że z id_ed25519kluczami rsadziałał bez wtyczki. Po dodaniu ssh-agentdo ~/.zshrc, uruchom ponownie powłokę za pomocą exec "$SHELL"i wykonaj:ssh-add ~/.ssh/id_ed25519
Enter passphrase for ~/.ssh/id_ed25519:
Identity added: ~/.ssh/id_ed25519 (user@host)
ssh-add
to 1, ale nie 0. Oczywiście mam pewien problem z moimi uprawnieniami, ponieważ pliki nie są tworzone. Masz pomysł, jak to naprawić? katalog~/.ssh
istnieje (jest pusty), ale nie pokazuje się, kiedy to robięls -l
ssh-keygen -q -t rsa -N 'password' -f ~/.ssh/id_rsa
więc pomógł mi ssh-keygen , dzięki.ssh-add
po wprowadzeniu hasła (nie powiodło się zgodnie z$?
returing 1. Próbowałemchmod 600 ~/.ssh/id_rsa*
bez powodzenia. Wygenerowałem nowy klucz od zerassh-keygen
i wtedy zadziałało. Smutne, ale przynajmniej to jest ok teraz (Nie udało się wygenerować klucza przy użyciussh-keygen -t rsa -b 4096 -C "[email protected]"
,ssh-keygen
tym razem uruchomiłem tylko zamiast tego).cd ~/.ssh && ls -lah
aby zobaczyć uprawnienia do odczytu / zapisu w folderze .ssh, zmień wszystkie klucze ) przychmod 400 myKey
czymssh-add **ABSOLUTE**pathToKey
, jeśli nie dodać ABSOLUTE ścieżkę, to nie będzie działać. Następnie przetestuj za pomocąssh -vT [email protected]
Oprócz powyższych rozważań, odkryłem, że jeśli używasz alternatywnej powłoki, być może będziesz musiał ją skonfigurować, aby ładowała ssh-agent. Na przykład, w zsh, należy dodać
ssh-agent
doplugins
IN.zshrc
.Ta metoda działa świetnie na Ubuntu 17.10 z najnowszym Zsh
Inni stwierdzili, że z
id_ed25519
kluczamirsa
działał bez wtyczki. Po dodaniussh-agent
do~/.zshrc
, uruchom ponownie powłokę za pomocąexec "$SHELL"
i wykonaj:ssh-add ~/.ssh/id_ed25519
źródło