SSH를 통해서만 다른 서버에만 연결하도록 점프 사용자(openSSH 점프 상자로)를 제한하는 방법은 무엇입니까?

SSH를 통해서만 다른 서버에만 연결하도록 점프 사용자(openSSH 점프 상자로)를 제한하는 방법은 무엇입니까?

내 목표: 점프 사용자(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/falsetestuser는 서버에 SSH로 접속할 수도 없었습니다. 이것이 없으면 사용자는 점프 서버에 로그인하여 디렉토리와 CD 목록을 계속 나열할 수 있습니다.

답변1

  1. 먼저, 제한된 Bash를 사용하도록 하세요 rbash. man bash이 정보는 "제한된 쉘"을 참조하십시오.

  2. 이제 이러한 사용자에 대한 PATH를 설정하십시오(예: 여기).사용자 이름, 특이한 디렉토리로:

echo "PATH=/usr/restricted/bin" > /home/username/.bash_profile

  1. 이제 다음 명령을 심볼릭 링크나 스크립트로 추가합니다 /usr/restricted/bin.

ln -s /usr/bin/ssh /usr/restricted/bin/ssh(각 호스트에 대한 SSH의 경우)

/usr/restricted/bin/ssh첫 번째 매개변수가 허용된 호스트 이름 중 하나인지 확인하는 스크립트를 사용하여 대상 호스트를 제한할 수 있습니다 .

관련 정보