Como posso permitir a autenticação de senha SSH apenas de determinados endereços IP?


103

Gostaria de permitir a autenticação de senha SSH de apenas uma certa sub-rede. Vejo a opção de proibi-lo globalmente em /etc/ssh/sshd_config:

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

Existe uma maneira de aplicar essa configuração a um intervalo selecionado de endereços IP?

Respostas:


156

Use um Matchbloco no final de /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

Em seguida, diga ao serviço sshd para recarregar sua configuração:

service ssh reload

1
Eu tentei isso (com 192.168.0.0/16) e quando reiniciei o serviço ssh, fiquei bloqueado. SSH recusou qualquer conexão. Alguma idéia de por que isso poderia ser?
Michael Waterfall

2
@ MichaelWaterfall É impossível contar com tão pouca informação. Certifique-se de manter um shell em execução até validar a nova configuração. Reiniciar o serviço ssh não afeta as conexões ativas.
Gilles

28
O problema provável é que você coloque o bloco Match em algum lugar no meio do seu sshd_config. As linhas de correspondência afetam todas as linhas seguintes até a próxima linha de correspondência, portanto, elas devem estar no final do arquivo.
Ken Simon

6
Apesar do recuo na resposta, sshd_confignão é Python;)
Nick T

1
@frepie O Matchbloco se estende até a próxima Matchdiretiva ou até o final do arquivo. É por isso que você precisa colocá-lo no final.
Gilles

8

Você pode adicionar:

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

isso altera o comportamento padrão, realmente nega todos os outros usuários de todos os hosts. Bloco de correspondência disponível no OpenSsh versão 5.1 e superior.


chamar eu permitir que um grupo, em vez de um único usuário
Lamar

@ Lamar De man sshd_config, parece que AllowGroupsfunciona da mesma forma que AllowUsers, mas AllowUsersparece ter precedência AllowGroups.
Conradkdotcom 16/02/19
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.