2009-03-08 2 views
0

여러 서버의 백업을 다른 서버의 단일 계정으로 실행해야합니다. 공용 서버 중 하나가 손상된 경우 백업 계정의 다른 서버 파일이 손상되는 것을 원하지 않습니다.OpenSSH를 제한하여 특정 디렉토리에만 업로드 허용

들어오는 연결의 ssh 키를 기반으로 특정 디렉토리에만 SCP를 허용해야합니다.

authorized_keys 파일에서 키 단위로 셸 및 여러 옵션을 설정할 수 있음을 알고 있습니다. http://www.manpagez.com/man/8/sshd/ (아래로 스크롤하여 "AuthorizedKeysFile")

internal-sftp 명령을 설정하여 특정 디렉토리 만 사용하는 방법을 모르겠습니다. 나는 기계에 뿌리가 없기 때문에 정상적인 내부 -sftp + chroot를 할 수 없다.

답변

2

그런 식으로 작동하지 않습니다.

각 백업 호스트에 대해 미니 chroot jail을 설정해야합니다. sh와 scp (/ dev는/dev/null 엔트리 만 필요합니다)를 실행할 수 있어야합니다.

jailsh를 각 계정의 로그인 쉘로 사용하십시오.

Jailsh는 두 개의 연속 된 슬래시로 표시 디렉토리로 chroot로 설정하는 SUID 루트 로그인 쉘이며, 루트 privs 및 및 임원/빈/SH 삭제합니다.

+0

아쉽게도 백업 서버에 루트 권한이 없습니다. 그렇게했다면 각 백업 서버별로 별도의 사용자를 쉽게 만들 수 있습니다. –

+0

그러면 사용자 정의 쉘을 빌드합니다. – Joshua