Windows 7 64bit 에서 CygWin + SSHD를 설치했음
1. 일단 www.cygwin.com 에서 cygwin 을 다운로드 받는다. Setup.exe 가 다운로드 될 텐데 적당한데 저장하자. 이것을 다운로드만 받아 둔다. 그리고 마우스 오른쪽 버튼을 눌러 관리자 권한으로 실행 을 눌러 관리자 권한으로 실행 되도록 한다. net 카테고리에 openssh 를 선택해서 설치를 마친다.
2. Cygwin / Bash Shell을 관리자 권한으로 실행 시킨다. 이게 중요하다. 오른쪽 마우스 버튼을 눌러서 관리자 권한으로 실행 을 꼭 선택해서 실행 시켜야 한다. 안그러면, 권한 문제로 sshd 관련 계정과 설정 파일들이 생성 되지 않는다.
3. 윈도우 시스템 환경 변수(제어판>시스템>고급 시스템 설정>환경변수)에 CYGWIN=ntsec 를 넣어준다.
P.S 혹시 몰라서 PATH에 ;C:\cygwin\bin 를 추가해 줬음
4. chmod +r /etc/passwd ; chmod +r /etc/group ; chmod +x /var ; ssh-host-config -y
위 처럼 ssh-host-config -y로 하고 cygrunsrv -S sshd를 했을 때 에러가 나면
cygrunsrv -R sshd 로 sshd 서비스 삭제 후에
밑에 처럼 수동으로 하면 됨(Do you want to use a different name 이분을 no로 하는게 중요)
$ ssh-host-config
*** Query: Overwrite existing /etc/ssh_config file? (yes/no) yes
*** Info: Creating default /etc/ssh_config file
*** Query: Overwrite existing /etc/sshd_config file? (yes/no) yes
*** Info: Creating default /etc/sshd_config file
*** Info: Privilege separation is set to yes by default since OpenSSH 3.3.
*** Info: However, this requires a non-privileged account called 'sshd'.
*** Info: For more info on privilege separation read /usr/share/doc/openssh/READ
ME.privsep.
*** Query: Should privilege separation be used? (yes/no) yes
*** Info: Updating /etc/sshd_config file
mv: try to overwrite `/etc/sshd_config', overriding mode 0550 (r-xr-x---)?
*** Warning: The following functions require administrator privileges!
*** Query: Do you want to install sshd as a service?
*** Query: (Say "no" if it is already installed as a service) (yes/no) yes
*** Info: Note that the CYGWIN variable must contain at least "ntsec"
*** Info: for sshd to be able to change user context without password.
*** Query: Enter the value of CYGWIN for the daemon: [ntsec]
*** Info: On Windows Server 2003, Windows Vista, and above, the
*** Info: SYSTEM account cannot setuid to other users -- a capability
*** Info: sshd requires. You need to have or to create a privileged
*** Info: account. This script will help you do so.
*** Info: You appear to be running Windows 2003 Server or later. On 2003
*** Info: and later systems, it's not possible to use the LocalSystem
*** Info: account for services that can change the user id without an
*** Info: explicit password (such as passwordless logins [e.g. public key
*** Info: authentication] via sshd).
*** Info: If you want to enable that functionality, it's required to create
*** Info: a new account with special privileges (unless a similar account
*** Info: already exists). This account is then used to run these special
*** Info: servers.
*** Info: Note that creating a new user requires that the current account
*** Info: have Administrator privileges itself.
*** Info: No privileged account could be found.
*** Info: This script plans to use 'cyg_server'.
*** Info: 'cyg_server' will only be used by registered services.
*** Query: Do you want to use a different name? (yes/no) no
*** Query: Create new privileged user account 'cyg_server'? (yes/no) yes
*** Info: Please enter a password for new user cyg_server. Please be sure
*** Info: that this password matches the password rules given on your system.
*** Info: Entering no password will exit the configuration.
*** Query: Please enter the password:
*** Query: Reenter:
*** Info: User 'cyg_server' has been created with password 'dlghwo'.
*** Info: If you change the password, please remember also to change the
*** Info: password for the installed services which use (or will soon use)
*** Info: the 'cyg_server' account.
*** Info: Also keep in mind that the user 'cyg_server' needs read permissions
*** Info: on all users' relevant files for the services running as 'cyg_server'.
*** Info: In particular, for the sshd server all users' .ssh/authorized_keys
*** Info: files must have appropriate permissions to allow public key
*** Info: authentication. (Re-)running ssh-user-config for each user will set
*** Info: these permissions corrently. [Similary restrictions apply, for
*** Info: instance, for .rhosts files if the rshd server is running, etc].
*** Info: The sshd service has been installed under the 'cyg_server'
*** Info: account. To start the service now, call `net start sshd' or
*** Info: `cygrunsrv -S sshd'. Otherwise, it will start automatically
*** Info: after the next reboot.
*** Info: Host configuration finished. Have fun!
cygrunsrv 관련
cygrunsrv -S sshd 를 서비스 실행
cygrunsrv -E sshd 는 서비스 중지
서비스 완전 제거 -R, 설치 -I
패키지 추가 및 삭제는 Setup.exe 을 다시 실행해서 고르면 됨
한글 입/출력
if [ -f /etc/bash.bashrc ] ; then
source /etc/bash.bashrc
fi
if [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ]; then
INPUTRC=/etc/inputrc
fi
를 추가해줍니다.
PS. 리눅스 프롬프트로 변경
vi ~/.bash_profile
에서
PS1='[\u@\h \W]\$'
추가
완전 제거는 밑에 처럼
1. 일단 www.cygwin.com 에서 cygwin 을 다운로드 받는다. Setup.exe 가 다운로드 될 텐데 적당한데 저장하자. 이것을 다운로드만 받아 둔다. 그리고 마우스 오른쪽 버튼을 눌러 관리자 권한으로 실행 을 눌러 관리자 권한으로 실행 되도록 한다. net 카테고리에 openssh 를 선택해서 설치를 마친다.
2. Cygwin / Bash Shell을 관리자 권한으로 실행 시킨다. 이게 중요하다. 오른쪽 마우스 버튼을 눌러서 관리자 권한으로 실행 을 꼭 선택해서 실행 시켜야 한다. 안그러면, 권한 문제로 sshd 관련 계정과 설정 파일들이 생성 되지 않는다.
3. 윈도우 시스템 환경 변수(제어판>시스템>고급 시스템 설정>환경변수)에 CYGWIN=ntsec 를 넣어준다.
P.S 혹시 몰라서 PATH에 ;C:\cygwin\bin 를 추가해 줬음
4. chmod +r /etc/passwd ; chmod +r /etc/group ; chmod +x /var ; ssh-host-config -y
위 처럼 ssh-host-config -y로 하고 cygrunsrv -S sshd를 했을 때 에러가 나면
cygrunsrv -R sshd 로 sshd 서비스 삭제 후에
밑에 처럼 수동으로 하면 됨(Do you want to use a different name 이분을 no로 하는게 중요)
$ ssh-host-config
*** Query: Overwrite existing /etc/ssh_config file? (yes/no) yes
*** Info: Creating default /etc/ssh_config file
*** Query: Overwrite existing /etc/sshd_config file? (yes/no) yes
*** Info: Creating default /etc/sshd_config file
*** Info: Privilege separation is set to yes by default since OpenSSH 3.3.
*** Info: However, this requires a non-privileged account called 'sshd'.
*** Info: For more info on privilege separation read /usr/share/doc/openssh/READ
ME.privsep.
*** Query: Should privilege separation be used? (yes/no) yes
*** Info: Updating /etc/sshd_config file
mv: try to overwrite `/etc/sshd_config', overriding mode 0550 (r-xr-x---)?
*** Warning: The following functions require administrator privileges!
*** Query: Do you want to install sshd as a service?
*** Query: (Say "no" if it is already installed as a service) (yes/no) yes
*** Info: Note that the CYGWIN variable must contain at least "ntsec"
*** Info: for sshd to be able to change user context without password.
*** Query: Enter the value of CYGWIN for the daemon: [ntsec]
*** Info: On Windows Server 2003, Windows Vista, and above, the
*** Info: SYSTEM account cannot setuid to other users -- a capability
*** Info: sshd requires. You need to have or to create a privileged
*** Info: account. This script will help you do so.
*** Info: You appear to be running Windows 2003 Server or later. On 2003
*** Info: and later systems, it's not possible to use the LocalSystem
*** Info: account for services that can change the user id without an
*** Info: explicit password (such as passwordless logins [e.g. public key
*** Info: authentication] via sshd).
*** Info: If you want to enable that functionality, it's required to create
*** Info: a new account with special privileges (unless a similar account
*** Info: already exists). This account is then used to run these special
*** Info: servers.
*** Info: Note that creating a new user requires that the current account
*** Info: have Administrator privileges itself.
*** Info: No privileged account could be found.
*** Info: This script plans to use 'cyg_server'.
*** Info: 'cyg_server' will only be used by registered services.
*** Query: Do you want to use a different name? (yes/no) no
*** Query: Create new privileged user account 'cyg_server'? (yes/no) yes
*** Info: Please enter a password for new user cyg_server. Please be sure
*** Info: that this password matches the password rules given on your system.
*** Info: Entering no password will exit the configuration.
*** Query: Please enter the password:
*** Query: Reenter:
*** Info: User 'cyg_server' has been created with password 'dlghwo'.
*** Info: If you change the password, please remember also to change the
*** Info: password for the installed services which use (or will soon use)
*** Info: the 'cyg_server' account.
*** Info: Also keep in mind that the user 'cyg_server' needs read permissions
*** Info: on all users' relevant files for the services running as 'cyg_server'.
*** Info: In particular, for the sshd server all users' .ssh/authorized_keys
*** Info: files must have appropriate permissions to allow public key
*** Info: authentication. (Re-)running ssh-user-config for each user will set
*** Info: these permissions corrently. [Similary restrictions apply, for
*** Info: instance, for .rhosts files if the rshd server is running, etc].
*** Info: The sshd service has been installed under the 'cyg_server'
*** Info: account. To start the service now, call `net start sshd' or
*** Info: `cygrunsrv -S sshd'. Otherwise, it will start automatically
*** Info: after the next reboot.
*** Info: Host configuration finished. Have fun!
cygrunsrv 관련
cygrunsrv -S sshd 를 서비스 실행
cygrunsrv -E sshd 는 서비스 중지
서비스 완전 제거 -R, 설치 -I
패키지 추가 및 삭제는 Setup.exe 을 다시 실행해서 고르면 됨
한글 입/출력
Cygwin 기본설정 상태에서는 한글입출력이 불가능 합니다.
몇가지 환경설정을 해줘야 한글
입출력이 가능해 집니다.
자신의 홈 디렉토리의
.inputrc 파일을 생성하여 다음의
내용을 추가하여 줍니다.
set meta-flag on
set convert-meta off
set output-meta on
set convert-meta off
set output-meta on
마찬가지로 홈 디렉토리의
.bashrc
파일을 생성하여 다음의 내용을 추가하여 줍니다.
alias ls='ls -F --color=auto --show-control-char'
alias l.='ls -dl .[a-zA-Z]*'
alias ll='ls -al'
alias cp='cp -i'
alias mv='mv -i'
alias rm='rm -i'
alias l.='ls -dl .[a-zA-Z]*'
alias ll='ls -al'
alias cp='cp -i'
alias mv='mv -i'
alias rm='rm -i'
마지막으로
.bash_profile 맨 마지막에
if [ -f /etc/bash.bashrc ] ; then
source /etc/bash.bashrc
fi
if [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ]; then
INPUTRC=/etc/inputrc
fi
를 추가해줍니다.
PS. 리눅스 프롬프트로 변경
vi ~/.bash_profile
에서
PS1='[\u@\h \W]\$'
추가
완전 제거는 밑에 처럼
경우에 따라 Cygwin을 자신의 시스템에서 완전히 제거해야 할 경우가 있을 수 있다. 이제부터 이미 설치되어 있는 Cygwin을 제거하는 방법에 대해서 알아보겠다.
-
프로세스 및 서비스 제거
-
파일 허가권 및 소유권 확인
-
Windows 환경설정(변수) 수정
위의 경우와 같이 Cygwin에서 특정 서비스를 설치하거나 사용자가 직접 Windows 시스템의 환경설정(변수)를 변경한 경우 Cygwin이 설치되기 이전의 상태로 돌려야 한다.
-
설치 디렉토리 삭제
설치 위치가 "C:\cygwin" 이라면 탐색기와 같은 파일 관리자를 통해 해당 디렉토리를 통채로 지운다. 명령 프롬프트에서는 "rmdir /s /q C:\Cygwin"
-
레지스트리 삭제
-
바로가기 아이콘 삭제
'기타 > 툴 관련(윈도우)' 카테고리의 다른 글
IE5.5, IE6, IE7, IE8 환경 테스트 툴 (0) | 2009.10.22 |
---|---|
외장하드를 ps2에 사용하기 (31) | 2009.08.22 |
HTTPDebuggerPro (트라이얼 버전) (0) | 2009.08.12 |
Putty 멈춤 증상시(ctrl+s) (1) | 2009.07.24 |
torrent + edonkey = Thunder (0) | 2009.07.23 |