OpenSSH 5.x chroot 설정하기

지금까지 chroot 환경의 SSH를 구동하기 위해서는 session.c파일을 조금 수정할 필요가 있었습니다. 지금까진 http://chrootssh.sourceforge.net/ 에서 제공하는 패치를 이용해 왔습니다. 하지만 5.x 대 부터는 기본적으로 chroot를 제공하게 변경되었습니다.

1. 우선 opensshd를 최신버젼으로 업데이트.

2. Jail구성을 할 디렉토리에 필요한 파일 복사 [참고]

/chroot 디렉토리에 Jail 구성을 할 경우
/chroot밑에 bin, dev, etc, lib, usr 가 존재해야 한다.

3. chroot를 적용할 사용자를 하나의 그룹으로 통일

4. sshd_config 파일에 다음의 설정 내용 추가 (적용할 그룹이 chrootgroup 일 경우)

Match group chrootgroup
    ChrootDirectory /chroot

5-1. passwd의 유저 홈 디렉토리 변경

$ vipw

user:x:500:501::/chroot/home/user:/bin/bash → user:x:500:501::/home/user:/bin/bash

5-2. 혹은 가짜 home디렉토리를 생성 (이게 더 간단함)

$ cd /home
$ ln -s . home

6. 작동 테스트

참고 : http://www.djatlantic.net/?p=334