BBUWOO'S [ LIKE UNIX ] WORLD Home > Lecture > Ssh2 > Ssh2-5  

HOME
WHAT's BBUWOO?
LInux AnNyung
Open Source
    GitHUB
    GitHUB (for PHP)
LECTURE
MINI LECTURE
QnA BOARD
ENGLISH POEM


WARNNING

강좌의 모든 권리는 본인 김정균에게 있으며 이 강좌를 상업적 목적 으로 이용
하거나 다른 곳으로 옮길시에는 본인의 허락이 있어야 한다. 이글의 가장 최신글은
http://oops.org 에서 확인할수 있다.



♠ How to config SSH for Linux



8. Chroot Manager 사용법

이제 까지는 간단하게 ssh 를 사용하는 법에 대하여 기술해 보았다. 이번에는 ssh2 의 기능 중에서 Chroot 에 대한 부분을 논해 보려고 한다. 일단 ssh2 에서 지원되는 chroot 기능은 sftp 연결에만 적용이 되며, chroot 설정을 했을 경우 해당 유저는 ssh 연결은 안되고 sftp 연결만 가능하게 된다.

일단 각설하고 chroot 를 사용하는 방법 부터 논해 보도록 하겠다. 일단 chroot 를 사용하기 위해서는 static 으로 컴파일을 해야 한다. static 으로 컴파일이 되어 있는지 확인을 하기 위해서는 서버에 sftp-server2.static 라는 파일이 존재하는지를 확인한다. 있으면 static 으로 된것이며, 없으면 컴파일을 다시해야 할것이다.



 Hanterm - ssh2

 [bbuwoo@oops ssh2]$ ./configure --enable-static
 ...
 [bbuwoo@oops ssh2]$ make
 ...
 [bbuwoo@oops ssh2]$ make install
 ...
 [bbuwoo@oops ssh2]$ 



의 과정으로 compile 을 하도록 한다. 그 후에 ssh-chrootmgr 명령어를 이용하여 다음과 같이 명령을 실행하도록 한다.



 Hanterm - ssh2

 [bbuwoo@oops ssh2]$ ssh-chrootmgr -q user1,user2,user3
 [bbuwoo@oops ssh2]$ 



좀더 자세한 전개 과정을 보려면 -v 옵션을 주면 된다. ssh-chrootmgr 에 대해 자세한 것을 알고 싶다면 manpage 를 참고 하도록 한다. 봐봐야 별 기능 없지만.. ^^; 실제로 ssh-chrootmgr 이 행하는 과정은 다음과 같이 수작업으로 해도 된다.

1. 홈 계정에 bin directory 를 생성한다.
2. /usr/bin 에서 ssh-dummy-shell.static 과 sftp-server2.static 을
   $HOME/bin 으로 복사를 한다.
3. 아래와 같이 심볼릭 링크를 생성한다:
   ln -s sftp-server2.static sftp-server
   ln -s ssh-dummy-shell.static ssh-dummy-shell

위의 명령을 실행한 다음 /etc/ssh2/sshd2_config 에서 chroot 설정을 하도록 한다. user 만 막고 싶다면 ChRootUsers 지시자로 유저들을 지정하며, group 은 ChRootGroups 로 지정할수 있다.



 Hanterm - cat /etc/ssh2/sshd2_config

 [bbuwoo@oops etc]$ cat /etc/ssh2/sshd2_config
 ...

 ChRootUsers	 user1,user2,user3
 ChRootGroups	 group1,group2,group3
 ...

 [bbuwoo@bbuwoo etc]$ 



설정 파일을 수정한 후에 sshd 를 재시작을 하도록 한다. 다음 패스워드 파일에서 유저의 shell 을 /bin/ssh-dummy-shell 로 변경을 하도록 한다.



 Hanterm - cat /etc/passwd

 [oops@oops etc]$ ssh -l bbuwoo oops                            
 ...

 user1:x:500:500::/home/user1:/bin/ssh-dummy-shell
 ...

 [bbuwoo@bbuwoo etc]$ 



여기 까지 했다면 이제 sftp 를 이용하여 ChRootUsers 에 지정한 유저로 로그인을 해 보도록 한다. chroot 되어진 것을 확인할수 있을 것이다.

어떻게 보면 ssh2 의 Chroot 기능은 처음 이 옵션을 보았을때의 기대에 부응하지는 못한것 같다. 실제로 필요한 ssh 연결은 지원되지 않고 단순한 sftp 만 연결을 가능하게 하고 chroot 시키기 때문이다. 이 설정이 얼마나 유용하게 사용될지는 모르겠지만 혹시 필요한 사람이 있나 싶어, 또는 이 기능에 환상을 가지는 사람들을 위해 이렇게 문서로 꾸며 보았다.


9. 마무리

이 외에도 ssh client의 option들은 상당히 많이 있다. 하지만 나도 아직 다른 option들을 자세히 들여다 보지 못한 관계로 여기에 올리지는 못하고 있다. 궁금한 사람들은 ssh --help 명령으로 살펴 보거나 man page를 참조하도록 하기 바란다.



>> 이전 : SSH client 사용



    



 Home > Lecture > Ssh2 > Ssh2-5

Copyright 1997-2024 JoungKyun Kim 
LAST MODIFIED: 2017/01/18