회사에서 내 업무의 대부분은 유닉스 환경이다. 그리고 난 유닉스 철학을 좋아 한다. 하지만 집 피씨엔 MS 윈도우가 설치되어 있다. 두가지 이유가 있는데, 첫번째는 Adobe 사의 Lightroom 이라는 사진 관리 보정 프로그램이고, 두번째는 인터넷뱅킹 때문이다.
MS 윈도우에서 유닉스 환경을 쓰려면 몇가지 방법이 있다. vmware 류의 가상 머신에 실제 유닉스를 설치하는 것, Services For Unix (SFU), Cygwin 류의 유닉스 레이어를 설치하는 것. 그 외에 MSYS + MinGW 도 있지만, 유닉스 툴을 쓸 수 있게 해 줄 뿐이지 환경을 갖춰주는 수준까진 아닌 것 같다. 정확히는 써보지 않아서 잘 모르겠다. 여튼 난 이 중에서 Cygwin을 주로 사용하는데, 이걸 이용해 비스타에서 sshd를 설정하는 것에 간략히 정리를 해 보려고 한다.
일단 http://www.cygwin.com 에서 cygwin 을 다운로드 받는다. Setup.exe 가 다운로드 될 텐데 적당한데 저장하자. 이것을 다운로드만 받아 둔다. 그리고 마우스 오른쪽 버튼을 눌러 관리자 권한으로 실행 을 눌러 관리자 권한으로 실행 되도록 한다. net 카테고리에 openssh 를 선택해서 설치를 마친다.
설치를 마치고 막상 쉘을 열어보면 sshd가 안 떠 있다. /etc 안을 봐도 ssh 관련 설정 파일은 안보인다. cygwin 에서 sshd 를 사용하기 위해서는 추가 작업을 한번 더 해줘야 한다.
Cygwin / Bash Shell을 관리자 권한으로 실행 시킨다. 이게 중요하다. 오른쪽 마우스 버튼을 눌러서 관리자 권한으로 실행 을 꼭 선택해서 실행 시켜야 한다. 안그러면, 권한 문제로 sshd 관련 계정과 설정 파일들이 생성 되지 않는다.
시스템 환경 변수에 CYGWIN=ntsec 를 넣어준다.
ssh-host-config 를 실행시켜서 전부 yes 를 선택한다. CYGWIN 값은 ntsec 로 넣어준다.
cygrunsrv -S sshd 를 실행시켜 sshd 데몬을 NT 서비스로 띄운다.
:
:
:
$ cygrunsrv -S sshd
이제 ssh localhost 를 해 보면 접속이 될 것이다.
그런데 문제가 하나 있다. 가끔 회사에서 집 피씨로 ssh 접속을 해서 뭘 좀 확인해 봐야 할 때가 있다. 그런데 인터넷 회선 업체에서 유명한 포트는 전부 막아 놔서 sshd 포트를 변경해야 한다. 그런데 이거 /etc/sshd_config 파일을 변경하려고 하니 파일의 소유자가 내 계정이 아니라서 쓰기가 안된다. 저 파일안의 Port 값을 바꿔야만 하는데 낭패다.
해결책은 ssh-host-config 안에 있다.
Cygwin Bash Shell을 관리자 권한으로 다시 열자.
:
port_number=22
:
저장할 때 권한 때문에 바로 저장이 안될 것이다. w! 로 강제 저장한다.
저 값을 원하는 값으로 변경하고 ssh-host-config를 재 실행한다. 옵션은 아까 위에서 처럼 전부 yes 다. 그러면 변경한 포트 번호로 설정된 /etc/sshd_config 파일을 재 생성 해 준다.
sshd 서비스를 재 시작하자.
$ cygrunsrv -S sshd
마지막으로 윈도우 방화벽 설정을 열어 변경한 포트 번호를 차단 예외 목록에 넣어 주자.
이제 변경한 포트 번호로 ssh 접속이 될 것이다.
gcc와 make를 설치하면 간이 개발 환경도 갖출 수 있다. 하지만, 64bit 비스타 임에도 불구하고 이렇게 꾸민 Cygwin 환경은 32bit 이다. 이 점이 좀 아쉽다.
답답한게…. 시작됬다가 자동중지된다는 메세지와함께 중지됩니다. 로그온 계정은 어떻게 설정하셨나요?
Oh. great 서비스도 관리자 권한으로 해야되네요.
아… 해결되셨다니 다행입니다. 여기서 뵐줄은 몰랐네요. 검색관련 업무를 하는지라 udanax 님 예전 홈페이지를 많이 들락거렸답니다. ^^