Jestem nowy na MacBooku i prowadzę El Capitan.
Migruję użycie mojego komputera z komputera na MacBook. Jestem długoletnim użytkownikiem PuTTY i SuperPuTTY na PC.
Chcę tworzyć i zapisywać dane logowania na moich serwerach internetowych w MacBook Terminal, tak jak zrobiłem to w SuperPuTTY na PC.
Czy można zapisać dane logowania do serwera WWW w terminalu Mac?
Oto mój ogólny cel:
Chciałbym wiedzieć, czy istnieje prosty sposób w Mac Terminal do przechowywania następujących danych logowania do wiersza poleceń, a następnie użyj jakiegoś krótkiego kodu, aby połączyć się z moim serwerem internetowym przez Terminal:
ssh -p 2200 root@123.456.789.012
Password: ****************************************************************
Zarządzam 5 różnymi serwerami internetowymi i łączę się z nimi, więc uporządkowanie i uporządkowanie danych logowania przy użyciu metody szybkiego / szybkiego połączenia byłoby ogromną oszczędnością czasu. Zwłaszcza, że moje hasła to tajemnicze ciągi 64 znaków.
Odpowiedzi:
Możesz skopiować swój klucz publiczny na zdalne komputery. Tak długo, jak mają włączone uwierzytelnianie za pomocą klucza publicznego, a Twój klucz publiczny jest obecny na zdalnym komputerze, możesz
ssh
do nich wchodzić bez konieczności podawania hasła.Najpierw musisz wygenerować publiczną / prywatną parę kluczy, taką jak:
Postępuj zgodnie z instrukcjami. Gdy pojawi się pytanie, czy chcesz zabezpieczyć klucz za pomocą hasła, powiedz TAK! Złą praktyką jest nie zabezpieczanie kluczy hasłem, a pokażę ci, jak raz na jakiś czas wprowadzać hasło.
Jeśli masz już parę kluczy, możesz pominąć powyższy krok.
Teraz, zakładając, że Twój klucz ssh istnieje na komputerze Mac, ponieważ
~/.ssh/id_rsa.pub
możesz go zainstalować na komputerze zdalnym, uruchamiając:W przypadku konkretnego przykładu serwera cytowanego powyżej polecenie wygląda następująco:
Musisz wprowadzić hasło,
[email protected]
aby wykonać tę kopię, ale powinien to być ostatni raz, kiedy musisz to zrobić. Zakładając, że serwer zdalnysshd
jest skonfigurowany do przeprowadzania uwierzytelniania klucza publicznego-prywatnego, kiedy ssh do skrzynki teraz nie powinien prosić o hasło doroot
konta - zamiast tego poprosi o hasło do twojego klucza . Czytaj dalej, aby dowiedzieć się, jak zrobić z tego coś, czego nie musisz cały czas wprowadzać.Powtórz powyższe czynności dla każdej maszyny, do której chcesz podłączyć się za pomocą kluczy zamiast hasła.
Pamiętaj, że każdy , kto przechwyci twój
~/.ssh/id_rsa
plik, może ssh na tym komputerze, jakroot
bez podawania hasła do zdalnego komputera. Hasło chroniące plik klucza zapewnia, że będzie musiał znać hasło, aby użyć tego klucza. Upewnij się, że plik jest bezpieczny. Skorzystaj z szyfrowania dysku na komputerze Mac i trzymaj~/.ssh/
mocno uprawnienia do pliku i katalogu.Aby ułatwić korzystanie z klucza bez konieczności każdorazowego wpisywania hasła, OS X uruchamia
ssh-agent
proces w tle na twoim komputerze. Agent ten buforuje parę kluczy przy pierwszym użyciu, więc musisz tylko raz wprowadzić hasło. Jeśli śpisz tylko na komputerze Mac, nigdy go nie uruchamiaj ponownie, możesz przejść długie okresy bez konieczności podawania hasła.Możesz wstępnie buforować wszystkie klucze SSH za
ssh-agent
pomocą polecenia:Teraz musisz tylko pamiętać hasło klucza , a nie wiele różnych haseł do kont. Zazwyczaj przechowuję moje hasła w 1Password (bez powiązania), co dodatkowo upraszcza liczbę haseł, które muszę zapamiętać. Następnie po prostu szukam ich w 1Password i wycinam i wklejam je w terminalu, gdy ponownie uruchamiam komputer Mac i uruchamiam
ssh-agent
ponownie.Jeśli połączysz kopiowanie klucza do zdalnych komputerów z rozwiązaniem do zarządzania połączeniami Terminal.app w tym pytaniu , będziesz mieć coś bardzo zbliżonego do PuTTY dla połączenia GUI.
Po stronie serwera sprawdź
/etc/ssh/sshd_config
i upewnij się:jest włączony w konfiguracji (domyślnie jest w OpenSSH). Możesz także ustawić:
Gdy tam jesteś, uwierzytelnianie oparte na hasłach jest wyłączone, a klucze stają się jedynym sposobem na dostęp do urządzenia.
Będziesz musiał ponownie uruchomić sshd na komputerze, jeśli dokonasz jakichkolwiek zmian w pliku konfiguracyjnym.
źródło
PasswordAuthentication yes
po stronie serwera, a PuTTY będzie nadal działać tak jak zawsze na twoim komputerze z systemem Windows. To nie jest scenariusz ani - ani - można zezwolić na oba typy uwierzytelniania na serwerze. PuTTY obsługuje również autoryzację klucza publicznego / prywatnego, taką jak FWIW. Możesz skopiować~/.ssh/id_rsa*
pliki na komputer z systemem Windows i zaimportować je do PuTTY w celu uwierzytelnienia na serwerze. PuTTY, pod maską, używa dokładnie tych samych bibliotek OpenSSH do łączenia się, cossh
w OS X.ssh-add
nadal działa nawet w Sierra (OS X 10.12). DziękiMożesz użyć sshpass, aby zapisać hasło i nie będziesz musiał wstawiać za każdym razem, co nie jest dobrą praktyką (problemy z bezpieczeństwem).
Postępuj zgodnie z instrukcjami instalacji Mac OS X na: https://gist.github.com/arunoda/7790979
Po zainstalowaniu sshpass uruchom
sshpass -p "YOUR_PASSWORD" ssh -o StrictHostKeyChecking=no [email protected]:2200
zrób to samo dla swoich 5 serwerów internetowych i nie będziesz musiał wstawiać hasła za każdym razem.
źródło
ssh -p 2200 [email protected]
iPassword: **********************
?ssh-copy-id
nie jest częścią standardowej dystrybucji OS X.Oprócz klucza publicznego / prywatnego plik .ssh / config można skonfigurować w celu ułatwienia korzystania z poleceń ssh, takich jak aliasy, defaut użytkownik / port na serwer, opcje ssh, polecenia proxy ...
Zasadniczo wszystko, co można skomplikować w komendzie ssh, również może znajdować się w tym pliku.
źródło
Przeniesiłem Putty na Maca jako natywny pakiet aplikacji, więc nie potrzebujesz Macportów ani terminali, jeśli nie jesteś użytkownikiem technicznym.
Więcej informacji na temat zrzutów ekranu znajduje się tutaj: http://www.wine-reviews.net/2016/08/putty-for-mac-os-x-now-available.html
Twoje zdrowie,
źródło