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 open
Session 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에 접속할 수 있었습니다.