Utwórz klucz ssh:
Polecenie:
ssh-keygen -t rsa –P ""
Przenoszenie klucza do autoryzowanego klucza:
Polecenie:
cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
bash: /home/user/.ssh/authorized_keys: No such file or directory
Utwórz klucz ssh:
Polecenie:
ssh-keygen -t rsa –P ""
Przenoszenie klucza do autoryzowanego klucza:
Polecenie:
cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
bash: /home/user/.ssh/authorized_keys: No such file or directory
Odpowiedzi:
Za pierwszym razem musisz utworzyć .ssh
katalog i authorized_keys
plik.
Utwórz .ssh
katalog:
mkdir ~/.ssh
Ustaw odpowiednie uprawnienia:
chmod 700 ~/.ssh
Utwórz authorized_keys
plik:
touch ~/.ssh/authorized_keys
Ustaw odpowiednie uprawnienia:
chmod 600 ~/.ssh/authorized_keys
Uprawnienia są ważne! Nie będzie działać bez odpowiednich uprawnień!
Teraz możesz dodać klucz publiczny do authorized_keys
pliku:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
Musisz dodać klucz publiczny komputera do authorized_keys
pliku komputera, do którego chcesz uzyskać dostęp za pomocą kluczy SSH !
Jak wspomniano terdon, możesz także użyć tego polecenia:
ssh-copy-id user@host
Spowoduje to umieszczenie twojego id_rsa.pub
(w twoim ~/.ssh
katalogu) w authorized_keys
pliku komputera zdalnego , tworząc .ssh
katalog i authorized_keys
plik z odpowiednimi uprawnieniami, jeśli to konieczne.
cat
, po to ssh-copy-id
jest.
W przypadku wysłania klucza publicznego w wiadomości e-mail w celu instalacji na zdalnym serwerze:
1) SSH do serwera. Użyłem PuTTY na Windowsie.
2) Ustaw klucz:
mkdir ~/.ssh
chmod 700 ~/.ssh
vi ~/.ssh/authorized_keys
Należy dokładnie skopiować klucz i wkleić go w nowym wierszu w oknie edytora. Sprawdź, czy zajmuje jedną linię i zapisz.
chmod 600 ~/.ssh/authorized_keys
Ponieważ nie mam wystarczającej reputacji, dodaję to tutaj. Oprócz odpowiedzi Louisa Matthijssena, jeśli nadal nie możesz zalogować się za pośrednictwem ssh jako utworzonego użytkownika, takiego jak
ssh username@host
może to wynikać z braku uprawnień właściciela , które należy dodać do folderu /home/username/.ssh. Miałem ten sam problem i możesz wyrazić zgodę na:
chown -R username:username /home/username/.ssh
Prawdopodobnie dzieje się tak po prostu dlatego, że tworzysz katalog i ustawiasz uprawnienia jako root , ale nie jako nazwę użytkownika którą chcesz uzyskać dostęp do serwera.
Mam nadzieję, że to komuś pomoże.
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.
~/.ssh/authorized_keys
to klucze innych komputerów, z którymi się łączysz / którym ufasz, a nie własny klucz.