Muszę uruchamiać ssh-add <key>za każdym razem, gdy potrzebuję ssh do serwera WWW. Czy istnieje sposób, aby dodać identyfikator na stałe, więc nie muszę dodawać tożsamości przy każdym logowaniu?
EDYCJA: Klucz to plik pem, który pobrałem z usługi w chmurze.
Wygeneruj swój klucz jak zwykle:, ssh-keygena następnie umieść ten klucz na zdalnym serwerze ssh-copy-id, który zsynchronizuje go z zaakceptowanymi kluczami zdalnego serwera.
ssh-keygen
ssh-copy-id user@host
Zostanie wyświetlony monit o podanie hasła, a następnie wykonaj wszystkie czynności niezbędne do połączenia .pubklucza ze zdalnym serwerem SSH.
Domyślnie skopiuje wszystkie klucze .pub na zdalny serwer. Jeśli właśnie utworzyłeś swój klucz, ssh-keygennie stanowi to problemu (ponieważ masz tylko jeden!). Jeśli jednak masz wiele kluczy, możesz skopiować tylko określony klucz z -iflagą.
Dla kogoś takiego jak ja (lub pytającego), którego jedyną ekspozycją na ssh jest użycie go do uzyskania dostępu do serwerów hostowanych w chmurze, gdzie usługa sieciowa tworzy klucz i przekazuje go (w moim przypadku, serwery AWS), odpowiedź ta jest trudna do uzyskania zrozumieć bez przeprowadzania istotnych badań w tle. Nigdy nie korzystałem ssh-keygenlub ssh-copy-id, na przykład. Z drugiej strony odpowiedzi takie jak ta są dla mnie całkowicie jasne i przydatne, biorąc pod uwagę mój poziom wiedzy. Od Ciebie zależy, czy chcesz w jakikolwiek sposób poprawić swoją odpowiedź, aby pomóc ignorantom takim jak ja. :)
Aby skopiować klucz na serwer, wystarczy użyć ssh-copy-id -i ~/.ssh/id_dsa.pub serveruser@servernamelub ~/.ssh/id_rsa.pubodpowiednio. W rzeczywistości, jeśli użyjesz domyślnej nazwy pliku klucza, nawet nie musisz go określać.
To jedyna odpowiedź, która faktycznie odpowiada na pytanie. Inni tylko dodają domyślny klucz publiczny do pojedynczego serwera docelowego, co jest denerwujące, jeśli masz dwa + oddzielne dla różnych zestawów serwerów.
Jeśli twój klucz nie zawiera hasła i jest nazwany jednym z plików, które ssh spróbuje wyszukać podczas identyfikacji ( ~/.ssh/id_dsalub ~/.ssh/id_rsa), nie powinieneś dodawać go do swojego agenta.
ALE. Jeśli istnieje jakakolwiek możliwość kradzieży tych plików, pozwoliłbyś każdemu na dostęp do serwerów, na których używasz tej tożsamości. W skrócie, pwned.
IMHO, klucze prywatne bez hasła są złą praktyką i powinny być używane tylko w środowiskach, w których ~/.ssh/authorized_keysjest bardzo restrykcyjny.
ssh-agent może przechowywać odszyfrowany klucz prywatny, gdy jesteś zalogowany. Jeśli jest włączony, gnome-keyring może nawet użyć Twojego hasła logowania. Aha, i ssh-copy-id może również skopiować twój klucz publiczny na serwery.
To działało dla mnie, Ubuntu 18.04. Źródło , nic więcej nie było potrzebne.
Uwaga : Przed wykonaniem tej czynności należy jednak ustawić uprawnienia na 400.
chmod 400 /path/to/pemfile.pem
Jeśli nie, pojawi się błąd:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@ @
OSTRZEŻENIE: NIEBEZPIECZNY PRYWATNY KLUCZOWY PLIK! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@ Uprawnienia 0664 dla „/home/toing_toing/blablabla.pem” są zbyt otwarte. Wymagane jest, aby pliki kluczy prywatnych NIE były dostępne dla innych. Ten klucz prywatny zostanie zignorowany.
Dobrze. Tak więc wygeneruj klucz RSA bez hasła: 'ssh-keygen -t rsa', a następnie połącz wygenerowany klucz publiczny (~ / .ssh / id_dsa.pub) z plikiem ~ / .ssh / Author_keys na serwerze zdalnym. Wiele osób podało jedną linijkę, aby to osiągnąć.
Używamy plików cookie
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.
ssh-keygen
lubssh-copy-id
, na przykład. Z drugiej strony odpowiedzi takie jak ta są dla mnie całkowicie jasne i przydatne, biorąc pod uwagę mój poziom wiedzy. Od Ciebie zależy, czy chcesz w jakikolwiek sposób poprawić swoją odpowiedź, aby pomóc ignorantom takim jak ja. :)