Desativar autenticação de senha somente para usuários remotos

1

Eu li como é possível desativar a autenticação por senha em um servidor Ubuntu. No entanto, é possível desabilitar isso apenas para usuários remotos?

Eu tenho medo de que, se eu ativar isso local e remotamente (como planejado), acabarei perdendo a chave e me bloqueando (com o passar do tempo). Se eu fosse capaz de desabilitar a autenticação de senha apenas para usuários remotos, perder a chave não seria tão trágico; Eu poderia simplesmente ir para a LAN e fazer o login com uma senha e criar uma nova chave.

    
por LonnieBest 28.09.2013 / 08:08

3 respostas

4

Na sshd_config(5) página de manual:

 Match   Introduces a conditional block.  If all of the criteria on the Match line are satisfied, the keywords on the following lines override those set in the global section of the config file, until either another
         Match line or the end of the file.

         The arguments to Match are one or more criteria-pattern pairs.  The available criteria are User, Group, Host, LocalAddress, LocalPort, and Address.  The match patterns may consist of single entries or comma-
         separated lists and may use the wildcard and negation operators described in the PATTERNS section of ssh_config(5).

         The patterns in an Address criteria may additionally contain addresses to match in CIDR address/masklen format, e.g. “192.0.2.0/24” or “3ffe:ffff::/32”.  Note that the mask length provided must be consistent
         with the address - it is an error to specify a mask length that is too long for the address or one with bits set in this host portion of the address.  For example, “192.0.2.0/33” and “192.0.2.0/8” respectively.

Isso significa que, supondo que 10.0.0.0/24 seja sua LAN, você pode ter PasswordAuthentication desativado na configuração principal e um Match como este:

    ....
    PasswordAuthentication No
    ....
Match Address 10.0.0.0/24
    PasswordAuthentication Yes
    
por 28.09.2013 / 15:28
2

Você pode colocar todos os usuários remotos em um grupo local (adicional) ex. 'remoteusr' e não permitir login com senha em 'sshd_config'

Match Group remoteusr
      PasswordAuthentication no
    
por 28.09.2013 / 08:28
1

Uma opção que já vi usada anteriormente é executar duas instâncias de leitura de sshd a partir de arquivos de configuração separados. Seu padrão escuta o tráfego SSH normal, configurado com a segurança desejada.

A segunda instância é sua "porta dos fundos", que escuta apenas em uma porta separada ou IP separado, talvez com regras de firewall apropriadas para impedir o acesso de fora da rede. Está configurado de forma diferente; talvez permitindo a autenticação de senha, talvez permitindo o acesso a contas que não são permitidas no primário, etc.

    
por 28.09.2013 / 09:12