desenv-web-rp.com

Quais usuários têm permissão para efetuar login via SSH por padrão?

  1. Quando eu configurei o meu Debian 6, fiquei pensando: quais usuários, além do root, cuja senha que conheço podem fazer login no meu sistema via SSH?

  2. Quando instalo o Apache 2, um usuário chamado www-data é criado. Esse usuário tem o direito de fazer login no meu sistema via SSH? Mas se houvesse alguma senha padrão para www-data, todos poderiam entrar, parece improvável para mim.

  3. Onde tenho uma lista em que usuários têm permissão para fazer login no meu sistema via SSH? Não foi possível encontrar nada nos arquivos de configuração do ssh.

18
JohnnyFromBF

Paradeepchhetri não está exatamente correto.

O Debian não modificado sshd_config tem o seguinte:

PubkeyAuthentication yes
PermitEmptyPasswords no
UsePAM yes

Portanto, o login via ssh funcionaria apenas para usuários que tenham um campo de senha preenchido em /etc/shadow ou uma tecla ssh em ~/.ssh/authorized_keys. Observe que o valor padrão para PubkeyAuthentication é yes e para PermitEmptyPasswords é no, portanto, mesmo que você os remova, o comportamento será o mesmo.

No exemplo da pergunta, www-data por padrão, não será permitido fazer login, pois o instalador do Debian não atribui uma senha nem cria uma chave para www-data.

pam_access, AllowUsers e AllowGroups em sshd_config pode ser usado para um controle mais preciso, se necessário. No Debian, é fortemente encorajado a UsePAM.

20
bahamat

Por padrão, o login é permitido para todos os usuários no Debian.

Você pode alterá-lo, permitindo que certos usuários façam login editando /etc/ssh/sshd_config Arquivo.

Conforme mencionado na página de manual do sshd_config.

AllowUsers

Essa palavra-chave pode ser seguida por uma lista de padrões de nome de usuário, separados por
espaços. Se especificado, o login é permitido apenas para nomes de usuários que correspondem a um dos padrões. Somente nomes de usuário são válidos; um ID de usuário numérico não é
reconhecido. Por padrão, o login é permitido para todos os usuários. Se o padrão assumir a forma [email protected] então USER e Host são verificados separadamente, restringindo logins a usuários específicos de hosts específicos. As diretivas de permissão/negação são processadas na seguinte ordem: DenyUsers, AllowUsers, DenyGroup e finalmente AllowGroups.

10
pradeepchhetri

Por padrão, SSH server Nem está instalado. Você precisaria instalar o pacote openssh-server Antes que alguém pudesse fazer o SSH.

Depois disso, qualquer usuário precisa passar por duas verificações:

  • Autenticação SSH
  • Verificações de conta PAM

Autenticação SSH significa que o usuário deve ter uma senha válida em /etc/shadow Ou possuir uma chave pública SSH válida com as permissões corretas no usuário de destino ~/.ssh/authorized_keys.

As senhas válidas são descritas mais adiante na página de manual crypt(3), mas basicamente se o segundo campo do usuário em /etc/shadow For algo que começa com $NUMBER$, Provavelmente é válido e, se for * Ou !, É inválido.

As verificações de conta PAM basicamente significam que a conta não expirou. Você pode verificar isso usando chage -l USERNAME.

Então, para responder às suas perguntas, que eu saiba:

  1. Somente a raiz e a conta que você cria durante o assistente de instalação podem efetuar login em um novo sistema
  2. Não, porque www-data Possui uma senha com hash de * E não há arquivo ~www-data/.ssh/authorized_keys
  3. Não existe uma lista única, porque existem vários requisitos, mas para ter uma ideia, você pode tentar executar grep -v '^[^:]*:[!*]:' /etc/shadow
7
Mikel