클라이언트 SSH 구성 제한

클라이언트 SSH 구성 제한

소규모 학생 사용자 그룹이 sshJupyter, rstudio 등과 같은 데이터 과학/프로그래밍 리소스에 액세스하기 위해 로컬 전달을 사용하여 서버에 연결할 수 있도록 허용합니다.

나는 최근에 학생들이 실행하는 동안 자신이 어느 호스트에 있는지 추적할 수 없다는 것을 발견했습니다 ssh. 예를 들어, 학생들은 달리고 ssh -L foo:localhost:foo host1에서 다른 호스트 에 연결하기 위해 host1달리게 됩니다 . 물론 이것은 이제 수신 대기 중이기 때문에 다른 모든 사용자에 대한 포트 전달을 중단합니다 .ssh -L foo:localhost:foo hostNhost1foohostfoo

학생들이 원격 호스트에서 클라이언트를 실행할 ssh수 없도록 일시적으로 호스트를 제한했습니다 . 그러나 어느 시점에서는 사용자가 액세스할 필요가 없는 경우도 ssh완전히 배제할 수는 없습니다 .ssh

사용자가 위험한 명령을 실행하지 못하도록 /etc/ssh/ssh_config이를 구성하는 방법(클라이언트 측에서)이 있습니까 ? 예 를 ssh들어, .foohost1

감사해요

답변1

클라이언트 측을 쉽게 제어할 수는 없지만 에 정의된 대로 서버 측을 제어할 수 있습니다 /etc/ssh/sshd_config. 모든 전달 옵션을 비활성화하고 서비스를 다시 시작합니다.

DisableForwarding yes

ssh -L이는 or 를 사용하는 쉬운 방법을 제거 ssh -R하지만 누군가가 애플리케이션 프록시를 설정하는 것을 막지는 못합니다(예: netcator 사용 socat).

관련 정보