Jak mogę zezwolić na uwierzytelnianie hasła SSH tylko z określonych adresów IP?


103

Chciałbym zezwolić na uwierzytelnianie hasła SSH tylko z określonej podsieci. Widzę opcję globalnego wyłączenia tej opcji w /etc/ssh/sshd_config:

# Change to no to disable tunnelled clear text passwords
#PasswordAuthentication yes

Czy istnieje sposób zastosowania tej konfiguracji do wybranego zakresu adresów IP?

Odpowiedzi:


156

Użyj Matchbloku na koniec dnia /etc/ssh/sshd_config:

# Global settings
…
PasswordAuthentication no
…

# Settings that override the global settings for matching IP addresses only
Match address 192.0.2.0/24
    PasswordAuthentication yes

Następnie powiedz usłudze sshd, aby ponownie załadowała swoją konfigurację:

service ssh reload

1
Próbowałem tego (zamiast 192.168.0.0/16) i kiedy ponownie uruchomiłem usługę ssh, zostałem zablokowany. SSH odmówił jakichkolwiek połączeń. Wiesz, dlaczego to może być?
Michael Waterfall

2
@MichaelWaterfall Nie da się powiedzieć przy tak małej ilości informacji. Upewnij się, że powłoka działa, dopóki nie zweryfikujesz nowej konfiguracji. Ponowne uruchomienie usługi ssh nie wpływa na aktywne połączenia.
Gilles

28
Prawdopodobnym problemem jest to, że umieścisz blok Dopasowania w środku swojego sshd_config. Linie dopasowania wpływają na każdą kolejną linię do następnej linii dopasowania, dlatego powinny znajdować się na końcu pliku.
Ken Simon

6
Pomimo wcięcia w odpowiedzi, sshd_confignie jest Python;)
Nick T

1
@frepie MatchBlok rozciąga się do następnej Matchdyrektywy lub do końca pliku. Dlatego musisz to położyć na końcu.
Gilles

8

możesz dodać:

AllowUsers user1@192.168.*.*, user2@192.168.*.*

zmienia to domyślne zachowanie, naprawdę odmawia wszystkim innym użytkownikom wszystkich hostów. Blok dopasowań dostępny w OpenSsh w wersji 5.1 i nowszych.


połączenie Zezwalam grupie zamiast jednego użytkownika
Lamar

@Lamar From man sshd_config, wygląda na to, że AllowGroupsdziała tak samo AllowUsers, ale AllowUserswydaje się mieć pierwszeństwo AllowGroups.
conradkdotcom
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.