SSHFS를 통해서만 파일 저장 및 쓰기를 제한하려면 SSH 키에 어떤 제한이 필요합니까?

SSHFS를 통해서만 파일 저장 및 쓰기를 제한하려면 SSH 키에 어떤 제한이 필요합니까?

sshfs프로세스에서만 해당 키를 사용할 수 있도록 사용되는 키를 제한하고 싶습니다 . 즉 , 파일 쓰기 및 저장과 디렉터리 나열에 사용되는 sshfs명령으로 제한됩니다 .sshfs

no-port-forwarding,no-x11-forwarding,no-agent-forwarding,no-pty옵션 (영향을 주지 않을 것으로 가정) 외에 어떤 다른 옵션을 추가해야 합니까?

나는 특히 command=옵션과 거기에 어떤 sftp옵션 scp이 들어가야 하는지 생각하고 있습니다.

답변1

나에게 이것은 작동합니다 :

command="/usr/lib/ssh/sftp-server"

(Ssh 서버의 프로세스 목록을 보면 직접 알 수 있습니다.)

더 나은 방법은 command클라이언트가 올바른 명령을 사용했는지 확인하는 쉘 스크립트를 가리킬 수 있다는 것입니다. 다음과 같습니다(단순화, 테스트되지 않음).

#!/bin/sh
# We get SSH_ORIGINAL_COMMAND from sshd

# comment out for production!
echo "debug original command: $SSH_ORIGINAL_COMMAND" >&2

if [ "$SSH_ORIGINAL_COMMAND" != "/usr/lib/ssh/sftp-server" ]; then
    echo "access denied" >&2
    exit 1
fi
exec /usr/lib/ssh/sftp-server

이러한 스크립트를 사용하면 sftp-server에 대해 허용되는 인수를 확인할 수도 있습니다. 잘 알려진 스크립트와 비슷한 아이디어입니다 rrsync.

다른 가능한 "no-*" 옵션의 경우. 대부분의 기능을 사용할 수 있을 것 같습니다. 시도해 보세요. man sshd-> 에 설명되어 있습니다 .AUTHORIZED_KEYS FILE FORMAT

관련 정보