Utwórz klucz ssh:
$ ssh-keygen -t rsa –P ""
Przeniesienie klucza do autoryzowanego klucza:
$ cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
bash: /home/user/.ssh/authorized_keys: No such file or directory
bash
shell
ssh
io-redirection
sknit
źródło
źródło
Odpowiedzi:
Element ścieżki
/home/user/.ssh/
nie istnieje; shell (bash
) sprawdza przekierowanie (>>
) przed wykonaniem polecenia (cat
). Jeśli/home/user
istnieje i spróbuj tego:Otrzymasz teraz:
Ponieważ ten plik nie może znajdować się w tym miejscu, jeśli
/home/user/.ssh/
nie istniał, na początek.Postępujesz zgodnie z instrukcjami, prawdopodobnie pomijając niektóre bity. Aby utworzyć katalog:
Jednak
id_rsa.pub
nie będzie. Będzie to miejsce, w którym uruchomiłeśssh-keygen
polecenie.źródło
Upewnij się, że jesteś zalogowany jako użytkownik, dla którego chcesz najpierw utworzyć klucz ssh (lub przygotuj się na modyfikację ścieżek w poleceniu do właściwego katalogu domowego).
Następnie po prostu utwórz katalog:
Utwórz plik za pomocą
cat
polecenia wymienionego powyżej. Nie zapomnij więc poprawnie ustawić uprawnień:Możesz również upewnić się, że katalog .ssh ma również odpowiednie uprawnienia.
źródło
chmod 700 ~/.ssh
Jeśli to możliwe, zawsze zachęcam ludzi do korzystania z narzędzia wiersza poleceń
ssh-copy-id
.Jeśli chcesz po prostu skopiować domyślny klucz publiczny SSH do zdalnego serwera, po prostu uruchom następujące polecenie:
W tym pytaniu z pytaniami pokazuję pełny przykład użycia tego narzędzia: Nie mogę udostępnić połączenia ssh z rsync .
źródło
Może się to również nie powieść, jeśli podczas tworzenia klucza
ssh-keygen
podasz mu nazwę pliku. Wpisałem jakąś nazwęmy-ssh-file-name
, a/Users/MyUserName
zamiast tego napisałem klucz do.ssh
. Jeśli nazwa pliku pozostanie pusta, zostanie zapisany.ssh
zgodnie z oczekiwaniami.źródło
-f ~/.ssh/custom-key-name