SSH se recusa a permitir que um usuário específico faça login diretamente via ssh

SSH se recusa a permitir que um usuário específico faça login diretamente via ssh

Eu tenho um usuário específico (vamos chamá-lo usernesta postagem) em um host que exibe os seguintes erros ao tentar fazer ssh por meio de autenticação de chave pública:

PTY allocation request failed on channel 0
Direct login access is disallowed

Posso atenuar o primeiro erro usando ssh user@host "/bin/bash -i", mas não consigo superar o segundo erro.

Coisas que tentei:

  • Eu posso sudo -s(ou sudo -ipara o usuário como root diretamente no host.
  • O usuário está bloqueado ( passwd -l user), desbloqueei e atribuí uma senha ao usuário. Mesmo problema. No entanto, posso su - usercomo qualquer outro usuário depois que a conta for desbloqueada e uma senha aplicada.
  • Eu verifiquei /etc/ssh/sshd_configno servidor, não há entradas para AllowUsers, AllowGroups, DenyUsers, DenyGroups.
  • Consigo fazer ssh diretamente como root sem problemas.
  • Criei um novo usuário e também consegui fazer ssh diretamente para ele.
  • A seleção confirmada da chave ssh e as chaves_autorizadas estão definidas corretamente, no entanto, não acho que esse seja um problema importante.
  • /etc/passwdmostra que o usuário /bin/bashconfigurou seu shell.
  • /etc/security/access.confestá completamente comentado sem nenhuma configuração definida.
  • reiniciei o sshd muitas vezes.
  • Não há /etc/login.blocksarquivo.
  • /var/log/secure, /var/log/messages, nem journalctl -fu sshdapenas mostrar Session openentãoSession closed for user user
  • ssh user@host -vvvvvvvapenas mostra oDirect login access is disallowed
  • reiniciou o host.

Nota: este é um sistema rhel que ainda não tem suas assinaturas habilitadas.

O que da? Por que não consigo acessar isso

Responder1

Descobri. Foi um script que alguém escreveu que restringia o acesso ao host. O script estava sendo executado depois que alguém se conectasse ao usuário via ssh.

Isso foi implementado userem ~/.ssh/authorized_keys.

Aqui está a linha que estava aparecendo no arquivo:

command="/home/user/script/that/was/causing/problems.sh", ssh-rsa ABC123hugepubliccipher==

Depois de remover a command=seção, os usuários puderam fazer login novamente.

informação relacionada