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