====== WSL Ubuntu Linux OpenSSH Server ======
* [[windows:wsl|Windows Subsystem For Linux]]에서 OpenSSH Server를 띄우기
* [[https://youngminz.github.io/main/2016/09/16/using-sshd-on-bash-on-windows.html|Bash on Windows에서 SSH 데몬 설치]]
* [[http://blog.hazard.kr/archives/845|WSL(윈도우 내 리눅스) 에서 데몬 유지 및 sshd 서버 돌리기 | 위험한 블로그]]
* [[https://gist.github.com/dentechy/de2be62b55cfd234681921d5a8b6be11|A step by step tutorial on how to automatically start ssh server on boot on the Windows Subsystem for Linux]]
===== Windows 10의 SSH 서비스 중지 =====
* ''services.msc'' 실행
* ''SSH Server Broker'', ''SSH Server Proxy'' 서비스가 있을 경우 중지하고 **사용 안함** 처리
===== Linux에서 openssh-server 설치 =====
sudo apt-get install openssh-server
===== /etc/ssh/sshd_config 설정 =====
# 모든 다른 IP에서의 요청 받음
ListenAddress 0.0.0.0
# wsl이 chroot() 호출을 지원하지 않기 때문
UsePrivilegeSeparation no
# 비밀번호 기반 인증 활성화
PasswordAuthentication yes
===== 부팅시 자동 시작 지정 =====
* 원래는 ''sudo service ssh start''를 하면 되지만, 이 경우 WSL은 백그라운드 프로세스 돌리는 것을 지원하지 않기 때문에 bash 가 종료되면 서비스도 자동 종료되어 버린다. 따라서 Windows 부팅시에 bash 창과 함께 ssh 서버를 띄우고 창을 그대로 놔두는 방식을 사용해야 한다.
# sudo 없이 실행가능하게 처리
# /etc/sudoers 에서 NOPASSWD 옵션을 주는 방식으로 해도 되긴 함. 이 경우 sshd 명령 앞에 sudo 추가 필요.
sudo chmod 4755 /usr/sbin/sshd
* 기본적으로는 ''C:\Windows\system32\bash.exe-c "/usr/sbin/sshd -D"''를 시작 프로그램에 등록하면 됨. 하지만 bash 창이 계속 떠있게 되어 보기에 안 좋다.
* ''start_sshd.vbs'' 파일 생성. 여기서 ''ws.run''의 마지막 인자 ''0''이 창을 숨기는 역할을 한다.
set ws=wscript.createobject("wscript.shell")
REM ws.run "C:\Windows\System32\bash.exe -c '/usr/sbin/sshd -D'",0 -- 처음에는 이걸로 해서 됐으나 Ubuntu 18.x 후 버전업 후에 안돼서 아래로 변경
ws.run "C:\Windows\System32\bash.exe -c 'sudo service ssh start'",0
* 위 vbs 파일을 ''shell:startup''을 실행하여 뜬 폴더에 저장하면 부팅시 시작된다.
===== Locale 지정 =====
* ssh 접속시 한글 등 유니코드가 올바로 보이지 않았다. 아래 작업 후 재접속하면 유니코드가 올바로 표기된다.
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
===== public key 등록 =====
* ''~/.ssh/authorized_keys'' 파일에 로그인에 사용할 public key를 등록해둔다.
* ''chmod 600 ~/.ssh/authorized_keys'' 로 권한 설정해둔다.
* [[windows:ssh:putty|Putty]] ''pageant'' 에 해당 키의 private key를 등록해두면 putty로 로그인 없이 접근가능해진다.