Skip to content
TUWLAB.com
일반

[WSL] Windows Subsystem for Linux - SSH 서버 세팅하기

Posted 2018. 11. 06 Updated 2018. 11. 09 Views 211 Replies 0
Atachment
첨부

WSL은 기능상으로는 실제 리눅스 배포판과 다를 게 거의 없지만, 셸이 구동되는 기본 터미널이 꾸진 Windows 명령 프롬포트(cmd.exe)인 관계로 이로 인해 여러 가지 애로사항이 꽃핀다. 예를 들어,

  • 파란색이 하나도 안보인다거나,
  • 기껏 정성 들여 설정한 내용이 날아간다거나, (ㅂㄷ)
  • 붙여넣기 단축키(Shift+Insert)가 안 먹는다거나..

등등...

이에 대한 해법으로 CMDer과 같은 명령 프롬포트 대체재를 사용하는 방법도 있지만, 가장 좋은 해결책은 WSL Ubuntu에 SSH 서버를 구동해 놓고, TeraTerm이나 Putty와 같은 훨씬 좋고 익숙한 터미널 프로그램으로 원격(?) 접속해서 사용하는 것이다.

WSL 리눅스 배포판에는 기본적으로 SSH 서버가 포함되어 있긴 하지만, 뭔가 문제가 있어서 접속을 시도하면 다음과 같이 "Connection refused" 오류가 발생하면서 접속이 이루어지지 않는다. (sshd의 설정을 변경해도 마찬가지다.)

sshd error.png
▲ WSL에 기본 설치되어 있는 SSH 서버는 정상 동작하지 않는다.

이 문제를 해결하기 위해서는 WSL에 기본으로 설치되어 있던 SSH 서버를 완전히 삭제(purge)하고 재설치해줘야 한다.

 

SSH 서버 재설치

WSL에 기본으로 설치되어 있는 SSH 서버는 약간 문제가 있어서 SSH 접속이 제대로 이루어지지 않으므로 완전 제거하고 재설치해야 한다.

작업을 수행하기 전에 APT Repository를 업데이트한다.

sudo apt-get update
sudo apt-get upgrade

SSH 서버를 설정파일까지 완전 삭제(purge)하고 재설치한다.

sudo apt-get purge openssh-server
sudo apt-get install openssh-server

 

SSH 서버 설정

SSH 서버 설정파일 ''/etc/ssh/sshd_config''을 열고 다음 항목들의 주석을 해제한다.

Port 22
Protocol 2
PermitRootLogin no
AuthorizedKeysFile  .ssh/authorized_keys
PasswordAuthentication yes
PubkeyAuthentication yes
ChallengeResponseAuthentication no
X11Forwarding yes
UseDNS no

이 때, "PermitRootLogin no"는 반드시 설정해 줘야 한다. 그 외의 설정은 본인이 사용하는 실사용 서버의 SSH 서버 세팅 정보를 참조해서 변경해 주도록 한다.

참고: 해외 포럼에 굴러다니는 다른 매뉴얼에는 "UsePrivilegeSeparation no"도 추가하라고 되어 있는데, 이게 없어도 잘만 동작할 뿐더러 오히려 추가하면 SSH 데몬을 시작할 때 Deprecated 경고가 뜬다. 조금 더 확인해 볼 필요가 있는 사안임.

 

SSH 서버 재시작

이후 다음 명령으로 SSH 서버를 완전 재시작 해 준다.

sudo service ssh --full-restart
sudo service ssh restart

 

SSH 서버 접속 확인

마지막으로 같은 셸에서 다음과 같이 loopback 접속을 시도해서 SSH 서버의 정상 동작 여부를 확인한다.

ssh localhost

최종적으로 터미널 창을 닫고 Windows에서 SSH 클라이언트로 localhost로 접속을 시도해본다. (sshd가 동작중인 상태에서 Bash.exe나 Ubuntu.exe의 창을 닫더라도 접속이 가능하다.)

 

일단 SSH 서버를 한 번 구동시키면 이를 종료시키지 않는 한 SSH 접속이 가능하다. 하지만, Windows 부팅시 SSH 서버가 자동으로 시작되지는 않으므로 부팅 후 최초 1회는 수동으로 SSH 서버를 시작(sudo service ssh start)해 줘야 한다. 약간의 트릭으로 Windows 부팅시 SSH 서버가 자동으로 시작 되도록 할 수도 있다.

→ WSL에서 SSH 서버 자동 시작 설정하기

 

추가적인 팁으로, SSH 클라이언트로 TeraTerm을 사용하는 경우 AutoHotkey와 연동하여 단축키([Ctrl]+[Alt]+[T])로 WSL에 접속한 터미널을 바로 띄우도록 설정할 수 있다.

TeraTerm 명령줄 인수와 AutoHotkey 연동하기

 

서비스 선택
이용중인 SNS 버튼을 클릭하여 로그인 해주세요.
SNS 계정을 통해 로그인하면 회원가입 없이 댓글을 남길 수 있습니다.
댓글
?
Powered by SocialXE

List of Articles
번호 분류 제목 글쓴이 최근 수정일 조회 수
191 일반 [WSL] Windows Subsystem for Linux - 디스플레이 서버 설정 및 GUI 사용하기 file TUW 2018.11.12 173
190 일반 [TeraTerm] 명령줄 인수와 공개키 인증으로 간편하게 SSH 접속하기 TUW 2018.11.06 118
189 일반 [WSL] Windows Subsystem for Linux - SSH 서버 자동 시작 설정하기 file TUW 2018.11.06 171
» 일반 [WSL] Windows Subsystem for Linux - SSH 서버 세팅하기 file TUW 2018.11.09 211
187 일반 [WSL] Windows Subsystem for Linux - Bash.exe를 Ubuntu와 유사하게 설정하기 file TUW 2018.11.06 164
186 일반 [WSL] Windows Subsystem for Linux - 초기 설치와 Ubuntu 배포판 설치 file TUW 2018.11.06 104
185 일반 [AutoHotkey] 단축키(Hotkey) 스크립트 작성과 자동 시작 등록 file TUW 2018.11.08 69
184 일반 [AutoHotkey] 소개와 설치 및 기본 설정 - GUI 예시, 기본 에디터 변경 file TUW 2018.11.11 61
183 일반 Windows에서 포트 포워딩(Port Forwarding) 설정하기 - Netsh TUW 2018.02.03 4448
182 Security [SSL/HTTPS] Let's Encrypt 무료 SSL 인증서 발급 및 설치, 관리하기 file TUW 2018.06.01 6893
181 Security [SSL/HTTPS] StartSSL/StartCom 사태와 Let's Encrypt로의 이전 1 file TUW 2018.05.03 2191
180 Linux [Ubuntu] Windows와 멀티부팅 환경에서 시간이 맞지 않는 현상 해결하기 TUW 2017.06.08 3947
179 일반 [Windows] 다중 NIC(LAN카드) 환경에서 Routing Table 설정 - route 명령 file TUW 2018.06.13 8705
178 일반 [CMake 튜토리얼] 3. CMakeLists.txt 기본 패턴 TUW 2017.06.07 6876
177 일반 [CMake 튜토리얼] 2. CMakeLists.txt 주요 명령과 변수 정리 1 file TUW 2018.05.31 19453
176 일반 [CMake 튜토리얼] 1. CMake 소개와 예제, 내부 동작 원리 file TUW 2018.06.13 19470
목록
Board Pagination Prev 1 2 3 4 5 6 7 ... 12 Next
/ 12

Powered by Xpress Engine / Designed by Sketchbook

sketchbook5, 스케치북5

sketchbook5, 스케치북5