모든 서버를 인증하기 위해 점프 상자로 사용하는 RHEL 7 서버가 있습니다. 일반적으로 사용자는 로컬 시스템에서 Jumpserver(rhel 7)에 로그인한 다음 해당 가상 시스템에 로그인하지만 최근 사용자는 매우 작은 가상 시스템인 Jumpserver의 디렉터리에 데이터를 저장하고 있으며 사용자가 어디에 있는지 알 수 없습니다. 여기에는 데이터가 저장되지 않습니다. 실제로 명령을 실행할 수 있는 다른 모든 권한을 비활성화하여 사용자가 점프 서버로만 사용하도록 제한하고 싶습니다.
프로세스: localmachine(open-ldap auth) --> Jumpserver-rhel 7(ssh 전용) ---> 가상 머신
도메인/LDAP 및 Linux 사용자를 SSH로만 제한하고 가상 머신으로 점프하는 것 외에는 아무것도 수행하지 않는 방법에 대해 누군가 알려줄 수 있습니까?
Env: 모든 것은 rhel 7을 기반으로 합니다.
답변1
사용자의 지능에 따라 SFTP를 비활성화해야 할 수도 있습니다.
SSH 부분의 경우 다음을 수행할 수 있습니다.
- 모든 사람의 쉘을 다음으로 설정하십시오.
rbash
- 예를 들어 생성
/usr/local/bin/restricted
- 심볼릭 링크 생성
ssh
(다른 허용되는 명령이 있을 수도 있음)/usr/local/bin/restricted
- / 에서만
$PATH
으로 설정/usr/local/bin/restricted
/etc/profile
/etc/bash.bashrc
- 모든 홈 디렉토리에서
~/.bash_profile
,~/.bash_login
및 를 삭제합니다(및~/.profile
/etc/skel
답변2
명령줄이 시작되었는지 확인하고 이 경우에만 실행되는 스크립트를 사용하여 ForceCommand
이를 구성 할 수 있습니다 .sshd_config
SSH_ORIGINAL_COMMAND
ssh
따라서 사용자는 다음을 사용해야 합니다.
ssh jumphost ssh realtarget
바꾸다
ssh jumphost
ssh realtarget
대화형 셸에서 실행됩니다.