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.