키 기반 인증을 SFTP 액세스로만 안전하게 제한

키 기반 인증을 SFTP 액세스로만 안전하게 제한

~/.ssh/authorized_keys진행 중인 SFTP 서버를 강제 실행하여 파일 전송만 허용하도록 설치된 키를 제한할 수 있습니다.

command="internal-sftp" ssh-rsa AAAAB3NzaC1...(the key follows)

그러나 SFTP 연결을 사용하면 새 버전을 authorized_keys서버로 전송하고, 제한 사항을 제거하고, 새 키를 추가하는 등의 작업을 수행할 수 있습니다. 그러면 대화형 연결을 만들 수 있습니다.

이러한 가능성으로 인해 파일 전송은 매우 위험합니다. 이를 방지할 수 있는 방법이 있습니까? 예를 들어 ~/.ssh/사용 중인 항목에 대한 액세스를 비활성화합니까 internal-sftp?

답변1

이 문제를 해결하는 다른 방법이 있는지 확실하지 않습니다. 적어도 테스트에 사용하는 LXC 컨테이너에서는 찾지 못했습니다.

루트 사용자로 chattr +i .ssh/authorized_keys

그러면 사용자는 파일을 수정할 수 없습니다.

또 다른 가능한 접근 방식은authorized_keys의 위치를 ​​변경하거나 스크립트를 사용하여 이를 찾도록 하는 것입니다. 그러면 사용자는 키를 수정할 수 없습니다.

또는 세 번째 옵션은 ssh 인증서를 사용하고 sftp 사용자의 인증서에만 명령 잠금을 설정하고 해당 잠금이 없는 두 번째 인증서를 사용하는 것입니다.

관련 정보