Windows10 내장 우분투에 ssh 클라이언트로 접속하기
윈도우 10에서 추가된 기능 중 가장 마음에 드는 기능. 윈도우에 내장된 우분투다. 기존의 vm이나 hyper-v로 띄우게 되면 아무래도 성능부분에서 깎이는 것도 많고 이것저것 설치하고 세팅하기 엄청 귀찮지 아니하였던가.
그런데 이러한 우분투를 쓰면서 가장 불만인 부분이 하나있었다. 왜 꼭 CMD 위에서 돌아가야만 하냔 말이다! CMD 위에서 돌아가다보니 색도 우중충하고 뭔가 복사하거나 붙여넣기도 엄청 귀찮은데다가 출력도 괴상하게 나오는 일이 많다 ㅠㅠ 그래서 평소 애용하는 XShell으로 이 우분투에 접속할 수 없을지 찾아보게 되었다.
준비 작업
Run Utility
리눅스에선 데몬 띄우는게 & 하나만 붙이면 될 정도로 간편한데 반해서 윈도우즈는 좀 많이 귀찮다. 이런저런 작업들을 피하기 위해서 나는 Xming의 Run Utility를 사용하였다. 이 프로그램은 간단히 설명하면 콘솔 창을 숨긴 채로 프로그램을 실행할 수 있게 도와주는 유틸리티 프로그램이다.
ubuntu를 닫는 순간 sshd도 종료되기 때문에 항상 하나의 ubuntu 인스턴스는 살려둬야한다. 그래서 Run Utility가 필요하다.
Windows bash 활성화
- 제어판 -> 프로그램 및 기능 -> Windows 기능 켜기/끄기 -> Linux용 Windows 하위 시스템 활성화 및 재시작
- https://www.microsoft.com/store/productId/9NBLGGH4MSV6 윈도우 스토어에서 우분투 설치
- cmd 실행 -> bash
SSH Server 설정하기
sudo apt-get purge openssh-server
sudo apt-get install openssh-server
sudo vi /etc/ssh/sshd_config
sshd_config
파일에서 아래의 옵션들을 찾아서 수정한다. 없다면 추가한다.
UsePrivilegeSeparation no
PermitRootLogin no
PasswordAuthentication yes
AllowUsers [your user name]
여기까지 완료되었으면 sudo service ssh restart
를 실행하여 localhost:22로 ssh 접속이 잘 되는지 확인한다. 만약에 안 된다면 위의 절차를 재시도해보고 방화벽도 확인해본다.
여기까지만 해도 사용은 가능하지만 재부팅할 때마다 불필요한 ubuntu 창을 하나 띄워서 service를 시작하고 그대로 놔둬야하는 불편함이 생긴다. 그러므로 한가지 설정을 더 해서 윈도우가 시작하면 자동으로 sshd도 실행되도록 바꾸자.
작업 스케쥴러 설정하기
- 제어판 -> 시스템 및 보안 -> 관리 도구 -> 작업 스케줄러 실행
- 새로 뜬 창 우측에서
작업 만들기
클릭 트리거
탭으로 이동새로 만들기
버튼을 눌러서 트리거 생성. 이 때, 작업 시작 항목에로그온 할 때
,워크스테이션 잠금 해제 시
각각 하나씩 추가조건
탭으로 가서 컴퓨터가 배터리 전원으로 전환되는 경우 중지부분 해제설정
탭으로 가서다음 시간 이상 작업이 실행되면 중지
부분 해제, 작업이 이미 실행중이면기존 인스턴스 중지
로 수정동작
탭으로 가서새로 만들기
버튼 눌러서 새 동작 만들기로 이동. 프로그램/스크립트에 아까 다운로드받아둔 Run Utility의run.exe
를 선택하고, 인수 추가에bash -c "sudo /usr/sbin/sshd -d"
입력확인
눌러서 생성된 것을 확인하고 오른쪽 메뉴에실행
버튼을 눌러 실행되는지 확인. 실행에 성공하면 외부 터미널에서 ssh 접속 시도하여 정상적으로 접속 가능한지 확인. 접속에 성공했으면 재부팅해도 정상적으로 접속 가능한지 확인