Mam komputer Macbook Air, do którego chciałbym zezwolić na zdalny dostęp SSH bez hasła. Utworzyłem użytkownika remotepair
, do którego się zalogowałem i potwierdziłem, że mogę używać komputera Mac. Dodałem również tego użytkownika do listy dozwolonych użytkowników usługi „Usuń logowanie” i włączyłem usługę. Wszystko to zostało wykonane w panelu sterowania „Udostępnianie”.
Mam klucz publiczny innego komputera i dodałem go do pliku /Users/remotepair/.ssh/authorized_keys
. Gdy drugi komputer ssh remotepair@<my ip>
nadal wyświetla monit o hasło.
Jak wyłączyć monit o hasło?
ssh
configuration
firewall
Jason
źródło
źródło
Odpowiedzi:
Aby wyłączyć uwierzytelnianie za pomocą hasła, musisz je edytować
/etc/sshd_config
. WTerminal
:(lub zastąp swoim ulubionym edytorem)
Poszukaj linii:
I zmień na:
To znaczy, usuń
#
na początku i zmieńyes
nano
.Wszystkie kolejne logowania ssh będzie teraz wymagać do korzystania z klucza ssh i nie poprosi o podanie hasła. Upewnij się, że Twój klucz ssh działa, zanim to zrobisz, jeśli nie masz dostępu lokalnego! Nie trzeba ponownie uruchamiać demona ssh ani nic, ponieważ jest on uruchamiany na żądanie dla każdego nowego połączenia przychodzącego. Zauważ, że możesz także zobaczyć
PasswordAuthentication
linię, ale domyślnieno
już jest.Jeśli twoje klucze ssh nie działają, to naprawdę osobny problem, ale to odpowiada na pytanie, jakie jest teraz postawione :)
źródło
/etc/ssh/
.PasswordAuthentication
zmieniła się nayes
, więc należy ją zmienić nano
.Aby zaktualizować odpowiedź dla systemu macOS Sierra (w szczególności 10.12.6), wygląda na to, że plik konfiguracyjny jest teraz
/etc/ssh/sshd_config
2 wiersze muszą być odkomentowane + zmodyfikowane, aby całkowicie wyłączyć uwierzytelnianie za pomocą hasła: (Są to wiersze od 57 do 62 włącznie w
sshd_config
pliku domyślnym )Jak wspomniano wcześniej, możesz włączyć / wyłączyć dostęp ssh z GUI System Preferences.app, a pomiędzy edycją konfiguracji nie jest wymagane ponowne uruchomienie demona.
źródło
Powinieneś sprawdzić uprawnienia zaangażowanych katalogów:
/Users/remotepair/
i/Users/remotepair/.ssh
nie mogą one zezwalać na dostęp do zapisu „innym” użytkownikom. Mój.ssh
ma prawa dostępu tylko dla właściciela.Ponadto w systemie zdalnym
ssh -v remotepair@yoursystem
sprawdź, które metody autoryzacji są dozwolone i podjęto próbę. Uważaj naAuthentications that can continue: publickey,password,keyboard-interactive
. Może musisz włączyćRSAAuthentication
w swoim systemie.źródło
W systemie testowym tutaj wyłączenie monitu SSH wymagało dodania następujących dwóch wierszy
/etc/sshd_config
:Komentarze w
sshd_config
zalecają również dodanie następującego wiersza:źródło