Chcę wygenerować klucz publiczno-prywatny na serwerze Sever 1 i przechowywać go w lokalizacji, która nie jest domyślną lokalizacją.
Następnie zapisz klucz publiczny na serwerze 2; jeszcze raz NIE w domyślnej lokalizacji.
Następnie ustaw ten klucz jako klucz autoryzowany.
Nie mogę jednak znaleźć authorized_keys
pliku w ~/.ssh
folderze. Jak mogę to autoryzować?
Odpowiedzi:
ssh-keygen -f filename
.scp filename username@server:filename-on-server
cat filename-on-server >> ~/.ssh/authorized_keys
Możesz również zamienić kroki 2 i 3 na
ssh-copy-id -i filename username@server
.źródło
Użyj
ssh-keygen
polecenia. Na serwerze (gdzie chcesz ssh) przechowywać klucz publiczny w pliku~/.ssh/authorized_keys
. Jeśli nie masz jeszcze katalogu .ssh w swoim domu (~), utwórz go (uważaj też: wydaje się, że sshd jest wybredny - ze względów bezpieczeństwa - że żaden inny użytkownik nie może odczytać tego pliku / katalogu, lepiej wydać chmod 700 w katalogu .ssh i chmod 600 w pliku w nim zawartym).Na komputerze, z którego chcesz ssh („klient”), możesz użyć klucza prywatnego, aby ssh na swoim serwerze. Możesz go przechowywać w dowolnym miejscu, a następnie możesz użyć
-i
przełącznika ssh, aby podać klucz publiczny, który będzie używany. Piszę to, ponieważ powiedziałeś, że „nie przechowuję w domyślnej lokalizacji”. Domyślna lokalizacja tofile id_dsa
(dla klucza DSA) w katalogu .ssh. Wtedy nie potrzebujesz-i
przełącznika, aby określić swój klucz, ponieważ zostanie on automatycznie wybrany z tego miejsca.źródło
Wygląda na to, że już wykonałeś klucze. Jeśli nie, po prostu uruchom ssh-keygen i zaakceptuj wartości domyślne. Zrób sam plik autoryzowanych_kluczy:
touch authorized_keys
Gdy przechowujesz klucze prywatne w niestandardowej lokalizacji, upewnij się, że używasz -i:
ssh -i /path/to/privatekey user@host
Oto dobry artykuł na temat ssh-keygen i korzystania z kluczy autoryzowanych w celu uproszczenia logowania ssh:
http://www.debuntu.org/secure-your-ssh-server-with-publicprivate-key-authentification/
źródło