"리디렉션" SSH 경로?

"리디렉션" SSH 경로?

사용하는 대신...

ssh://[email protected]:1234/mnt/thing/usr/prj

나는 사용하고 싶다

ssh://[email protected]:1234/prj

어떻게 해야 합니까? 사용자에게 액세스 권한이 없는 경우 /home유용합니다 . /var데이터 전송에만 이것이 필요합니다.

답변1

보세요스폴리'shell'을 선택하고 chroot를 설정합니다.

답변2

홈 디렉토리가 인 사용자를 만듭니다 /prj.

~/.ssh/authorized_keys다음과 같이 사용 가능한 명령 및 SSH 옵션에 대한 몇 가지 제한 사항과 함께 원격 사용자의 공개 키가 포함된 사용자용 파일을 생성합니다.

command="/usr/bin/scp-wrapper",no-port-forwarding,no-X11-forwar
ding,no-agent-forwarding,no-pty ssh-rsa AAAAB3NzaC1yc2EAAAADAQA
BAAABAQCblahblahblahblahblahblahblahblahblahblahblahblahblahbla
hblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahbl
ahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahb
lahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah
blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahbla
hblahblahblahblahblahblahblahblahB [email protected]

최대한 제한적으로 만드세요.

그런 다음 scp에 대한 래퍼를 만들어야 합니다. 다음과 같이 간단한 방법도 작동하지만 프로덕션에서 사용하기 전에 더 많은 보안 인식 확인 및 테스트를 추가해야 합니다.

#!/usr/bin/env bash

$SSH_ORIGINAL_COMMAND

이것은 가능성의 한 예일뿐입니다. 이 경우 전체 scp 명령은 환경 변수에 캡처되지만 파일의 절에 인수를 사용하여 명령을 지정할 $SSH_ORIGINAL_COMMAND수 없으므로 래퍼가 필요합니다.command=.authorized_keys

사용자는 /tmp와 같은 고정 공용 디렉토리에 계속 액세스할 수 있지만 /var 또는 /home 주변을 돌아다닐 수는 없습니다.

chroot그들은 귀하의 서버에서 파일을 가져올 수 있지만 최소한의 노력으로 모든 것을 마무리하고 시스템을 더욱 안전하게 보호하는 데 사용할 수 있습니다 .

관련 정보