내 목표: 점프 사용자(OpenSSH Jumpbox 입력)가 SSH를 통해서만 다른 서버에 액세스하도록 제한합니다. 사용자는 Jumpbox에서 다른 서버로 디렉터리, CD 또는 SSH 이외의 다른 항목을 나열할 수 없어야 합니다.
내가 가진 것:
- Active Directory 사용자는 점프 서버에 로그인한 후 SSH를 통해 다른 서버에 연결합니다.
- Ubuntu 20.04에 구성된 OpenSSH 점프 서버
내가 한 일: 편집 /etc/ssh/sshd_config
:
Match User testuser
AllowTcpForwarding yes
X11Forwarding no
AllowAgentForwarding no
ForceCommand /bin/false
을 추가했을 때 ForceCommand /bin/false
testuser는 서버에 SSH로 접속할 수도 없었습니다. 이것이 없으면 사용자는 점프 서버에 로그인하여 디렉토리와 CD 목록을 계속 나열할 수 있습니다.
답변1
먼저, 제한된 Bash를 사용하도록 하세요
rbash
.man bash
이 정보는 "제한된 쉘"을 참조하십시오.이제 이러한 사용자에 대한 PATH를 설정하십시오(예: 여기).사용자 이름, 특이한 디렉토리로:
echo "PATH=/usr/restricted/bin" > /home/username/.bash_profile
- 이제 다음 명령을 심볼릭 링크나 스크립트로 추가합니다
/usr/restricted/bin
.
ln -s /usr/bin/ssh /usr/restricted/bin/ssh
(각 호스트에 대한 SSH의 경우)
/usr/restricted/bin/ssh
첫 번째 매개변수가 허용된 호스트 이름 중 하나인지 확인하는 스크립트를 사용하여 대상 호스트를 제한할 수 있습니다 .