SSH는 특정 사용자가 SSH를 통해 직접 로그인하는 것을 거부합니다.

SSH는 특정 사용자가 SSH를 통해 직접 로그인하는 것을 거부합니다.

user공개 키 인증을 통해 ssh를 시도할 때 다음 오류를 표시하는 호스트에 특정 사용자(이 게시물을 통해 호출하겠습니다)가 있습니다 .

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

을 사용하여 첫 번째 오류를 완화할 수 있지만 ssh user@host "/bin/bash -i"두 번째 오류는 지나칠 수 없습니다.

내가 시도한 것들:

  • 나는 sudo -s(또는 sudo -i호스트의 루트 사용자에게 직접) 할 수 있습니다.
  • 사용자가 잠겨 있습니다( passwd -l user). 잠금을 해제하고 사용자에게 비밀번호를 할당했습니다. 같은 문제입니다. 그러나 su - user계정이 잠금 해제되고 비밀번호가 적용된 후에는 다른 사용자와 마찬가지로 할 수 있습니다 .
  • /etc/ssh/sshd_config서버를 확인해보니 AllowUsers, AllowGroups, DenyUsers, 에 대한 항목이 없습니다 DenyGroups.
  • 문제없이 루트로 직접 SSH를 실행할 수 있습니다.
  • 새 사용자를 만들었고 해당 사용자에게 직접 SSH를 통해 연결할 수도 있습니다.
  • SSH 키 선택과 Authorized_keys가 올바르게 설정되었는지 확인했지만 이것이 중요한 문제라고 생각하지 않습니다.
  • /etc/passwd사용자가 /bin/bash쉘에 대해 설정했음을 보여줍니다.
  • /etc/security/access.conf아무런 설정도 없이 완전히 주석 처리되었습니다.
  • sshd를 여러 번 다시 시작했습니다.
  • 파일 이 없습니다 /etc/login.blocks.
  • /var/log/secure, /var/log/messages, 그 이후 journalctl -fu sshd에만 표시되지 않음Session openSession closed for user user
  • ssh user@host -vvvvvvv단지 보여줍니다Direct login access is disallowed
  • 호스트를 재부팅했습니다.

참고: 이는 아직 구독이 활성화되지 않은 rhel 시스템입니다.

무엇을 제공합니까? 왜 여기에 접근할 수 없나요?

답변1

그것을 알아 냈습니다. 호스트에 대한 액세스를 제한하는 누군가가 작성한 스크립트였습니다. 누군가가 SSH를 통해 사용자에게 연결된 후에 스크립트가 실행되었습니다.

user이것은 에서 구현되었습니다 ~/.ssh/authorized_keys.

파일에 표시된 줄은 다음과 같습니다.

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

섹션을 제거한 후 command=사용자는 다시 SSH에 접속할 수 있었습니다.

관련 정보