Jak dodać klucz RSA do pliku allowed_keys?


90

Utworzyłem klucz publiczny RSA i chcę go dodać do authorized_keyspliku, ale nie ma takiego pliku na moim komputerze z Ubuntu 11.10.

Jak mogę dodać klucz do authorized_keys?

Odpowiedzi:


105

Wykonując rozwiązanie Michaela Krelina, upewnij się, że wykonujesz następujące czynności

cat <your_public_key_file> >> ~/.ssh/authorized_keys

Zwróć uwagę, że podwójna >bez podwójnej >istniejącej zawartości Authorized_keys zostanie nadpisana (nuked!) I może to nie być pożądane


Musisz uwzględnić, jak prawidłowo wyodrębnić informacje klucza publicznego, po prostu skopiowanie i wklejenie ich nie wystarczy. Na przykład:
einarc

4
Czy możesz wyjaśnić, dlaczego kopiowanie / wklejanie nie działa? Jestem szczerze ciekawa.
mcsilvio,

50
mkdir -p ~/.ssh/

Aby nadpisać Authorized_keys

cat <your_key >~/.ssh/authorized_keys

Aby dołączyć na końcu Authorized_keys

cat <your_key >>~/.ssh/authorized_keys

Wygenerowałem klucz po stronie klienta i skopiowałem go na serwer, ale używając polecenia ssh 192.168.2.7 nie pozwala na logowanie.
Raji AC

Nie pozwala się zalogować, mówiąc co?
Michael Krelin - haker

podczas wykonywania tego polecenia prosi o hasło do serwera. chcę zalogować się bez hasła
Raji AC,

Czy identyfikator (część publikacji) znajduje się w ~ / .ssh / authoris_keys na pilocie? Czy identyfikator (część inna niż pub) jest używany przez ssh podczas próby zalogowania się? Możesz spróbować określić to wyraźnie za pomocą -i. Możesz także spróbować ssh -vi sprawdzić uprawnienia swoich autoryzowanych kluczy na pilocie. I sprawdź tam dzienniki.
Michael Krelin - haker

Czy możemy jakoś sprawdzić, czy klucz jest już dodany? Tak, jak robi to ssh-copy-id dla systemu zdalnego
Dmitriusan

32

Wiem, że odpowiadam za późno, ale dla każdego, kto tego potrzebuje, uruchom następujące polecenie z lokalnego komputera

cat ~/.ssh/id_rsa.pub | ssh user@192.168.1.1 "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

to działało doskonale. Wystarczy tylko wymienić

użytkownik@192.168.1.1

z własnym użytkownikiem dla tego konkretnego hosta


31

W pakiecie ssh jest już polecenie, które zrobi to automatycznie za Ciebie. Oznacza to, że zaloguj się na zdalnym hoście i dodaj klucz publiczny do pliku Authorized_keys tego komputera.

ssh-copy-id -i /path/to/key/file user@host.com

Jeśli instalujesz klucz, ~/.ssh/id_rsamożesz nawet -icałkowicie upuścić flagę.

O wiele lepsze niż robienie tego ręcznie!


2
>ssh user@serverip -p portnumber 
>sudo bash (if user does not have bash shell else skip this line)
>cd /home/user/.ssh
>echo ssh_rsa...this is the key >> authorized_keys
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.