Od miesięcy poluję na filtrowanie podsieci (nie aktywnie), tego właśnie chciałem. Mamy małą sieć deweloperską z dhcp, a nasze urządzenia zawsze otrzymują nowy adres IP, co znacznie ułatwia łączenie się z nimi. Dzięki!
Adam Lewis,
13
Wyłącz StrictHostKeyCheckingza pomocą ssh_configopcji lub wiersza poleceń.
Spowoduje to pominięcie kontroli i automatyczne dodanie klucza zdalnego hosta przy pierwszym logowaniu. (Istnieje również opcja CheckHostIP, ale wydaje się, że tak naprawdę nie wyłącza sprawdzania, czy klucz w ogóle istnieje).
Lubię też używać UserKnownHostsFile, aby podpis nie został zapamiętany w moim systemie. ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeychecking=no hostname
Fajna
2
Zajęło mi to trochę czasu. Najczęstszym przykładem użycia, jaki widziałem, jest posiadanie tuneli ssh do zdalnych sieci. Wszystkie rozwiązania tutaj wytworzyły ostrzeżenia, które złamały moje skrypty (nagios).
Potrzebną opcją było:
NoHostAuthenticationForLocalhost yes
Co, jak sama nazwa wskazuje, dotyczy również lokalnego hosta.
Możesz wyłączyć sprawdzanie, ale oczywiście jest to mniej bezpieczne. W idealnej sytuacji powinieneś zdobyć kogoś, kto już ma dostęp do komputera, aby pobrać jego publiczny klucz hosta i powiedzieć ssh, aby go używał. tj .: weź wynik:
cat /etc/ssh/ssh_host_rsa_key.pub
dodaj nazwę hosta komputera i dodaj tę linię do pliku ~ / .ssh / known_hosts na twoim komputerze. Skończysz z czymś, co wygląda:
myhost.example.com ssh-rsa AAAAB3Netc ...
Alternatywnie, jeśli chcesz po prostu pobrać odcisk palca klucza, co może być łatwiejsze do przesłania przez ograniczony kanał przepustowości (np. Rozmowę telefoniczną), możesz uruchomić pomocnika:
Jeśli chcesz tylko tymczasowo wyłączyć sprawdzanie hosta, aby na przykład zalogować się do systemu LiveCD, zmień nazwę ~/.ssh/known_hostsna inną, a następnie zmień ją ponownie po zakończeniu .
Odpowiedzi:
We wszystkich innych bieżących odpowiedziach brakuje UserKnownHostsFile = / dev / null
Jeśli po prostu chcesz to zrobić, możesz użyć:
Jeśli chcesz to powtarzać, powinieneś dodać coś takiego jak poniżej do ~ / .ssh / config
Aby skonfigurować to na OpenSSH dla Windows po prostu wymienić
/dev/null
sięNUL
.Dobre wyjaśnienie z: http://linuxcommando.blogspot.com/2008/10/how-to-disable-ssh-host-key-checking.html
źródło
Wyłącz
StrictHostKeyChecking
za pomocąssh_config
opcji lub wiersza poleceń.źródło
Możesz uzyskać klucz publiczny, dodać go do pliku znane_hosty, a następnie ponownie go skasować:
źródło
Spowoduje to pominięcie kontroli i automatyczne dodanie klucza zdalnego hosta przy pierwszym logowaniu. (Istnieje również opcja CheckHostIP, ale wydaje się, że tak naprawdę nie wyłącza sprawdzania, czy klucz w ogóle istnieje).
źródło
ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeychecking=no hostname
Zajęło mi to trochę czasu. Najczęstszym przykładem użycia, jaki widziałem, jest posiadanie tuneli ssh do zdalnych sieci. Wszystkie rozwiązania tutaj wytworzyły ostrzeżenia, które złamały moje skrypty (nagios).
Potrzebną opcją było:
Co, jak sama nazwa wskazuje, dotyczy również lokalnego hosta.
źródło
Możesz wyłączyć sprawdzanie, ale oczywiście jest to mniej bezpieczne. W idealnej sytuacji powinieneś zdobyć kogoś, kto już ma dostęp do komputera, aby pobrać jego publiczny klucz hosta i powiedzieć ssh, aby go używał. tj .: weź wynik:
dodaj nazwę hosta komputera i dodaj tę linię do pliku ~ / .ssh / known_hosts na twoim komputerze. Skończysz z czymś, co wygląda:
myhost.example.com ssh-rsa AAAAB3Netc ...
Alternatywnie, jeśli chcesz po prostu pobrać odcisk palca klucza, co może być łatwiejsze do przesłania przez ograniczony kanał przepustowości (np. Rozmowę telefoniczną), możesz uruchomić pomocnika:
źródło
Jeśli chcesz tylko tymczasowo wyłączyć sprawdzanie hosta, aby na przykład zalogować się do systemu LiveCD, zmień nazwę
~/.ssh/known_hosts
na inną, a następnie zmień ją ponownie po zakończeniu .źródło
Bingo
źródło