πŸ“‘ WSL둜 SSH μ„œλ²„ μ—΄κΈ°

ν•™κ΅μ—μ„œ μ•„μ΄νŒ¨λ“œλ‘œ μ½”λ”©ν•˜κΈ°

SSHλŠ” 원격 접속을 μœ„ν•œ ν”„λ‘œν† μ½œλ‘œ, SSH μ„œλ²„λ₯Ό μ΄μš©ν•˜λ©΄ μ™ΈλΆ€ ν„°λ―Έλ„μ—μ„œ μ„œλ²„λ‘œ 원격 접속을 ν•  수 μžˆλ‹€. 심지어 μ•„μ΄νŒ¨λ“œλ‘œλ„ λ°μŠ€ν¬νƒ‘μ— 접속할 수 μžˆλ‹€λŠ” μ˜λ―Έλ‹€. 단, SSH 접속은 터미널을 μ‚¬μš©ν•΄μ•Ό ν•˜κΈ° λ•Œλ¬Έμ— CLI에 μ΅μˆ™ν•΄μ•Ό ν•œλ‹€. λ˜ν•œ SSH μ„œλ²„λ₯Ό ν†΅ν•œ 개발이 λͺ©μ μ΄λΌλ©΄ λ‹Ήμ—°νžˆ vim μ‚¬μš©λ²•μ„ 잘 μ•Œκ³  μžˆμ–΄μ•Ό ν•  것이닀.

λ‚˜λŠ” μ•„μ΄νŒ¨λ“œμ— termiusλ₯Ό μ„€μΉ˜ν•˜κ³ , 이λ₯Ό 톡해 λ…ΈνŠΈλΆμ˜ WSL에 SSH 접속을 ν•΄λ³΄κΈ°λ‘œ ν–ˆλ‹€. 그럼 WSL Ubuntu 16.04μ—μ„œ SSH μ„œλ²„λ₯Ό 열어보겠닀.

openssh-server μž¬μ„€μΉ˜

SSH μ„œλ²„λ₯Ό μ—΄κΈ°μœ„ν•΄μ„œλŠ” openssh-serverλΌλŠ” νŒ¨ν‚€μ§€κ°€ ν•„μš”ν•˜λ‹€. μš°λΆ„νˆ¬μ—λŠ” 기본적으둜 openssh-serverκ°€ μ„€μΉ˜λ˜μ–΄ μžˆμ§€λ§Œ, WSL ν™˜κ²½μ—μ„œλŠ” 왠지 μ œλŒ€λ‘œ μž‘λ™ν•˜μ§€ μ•ŠλŠ”λ‹€. (SSH μ„œλ²„λ₯Ό μ‹€ν–‰ν•˜λŠ” λͺ…λ Ή sudo service ssh startλ₯Ό 싀행해보면 λͺ‡κ°€μ§€ μ—λŸ¬κ°€ λ‚˜νƒ€λ‚  것이닀.)

μž¬μ„€μΉ˜ν•΄μ£Όμž:

$ sudo apt remove openssh-server
$ sudo apt install openssh-server

sshd_config μˆ˜μ •

sshd_configλŠ” SSH μ„€μ • 파일인데, 이 파일의 λ‚΄μš©μ„ μ•½κ°„ μˆ˜μ •ν•΄μ€˜μ•Ό ν•œλ‹€. root κΆŒν•œμ΄ ν•„μš”ν•˜λ―€λ‘œ, μžμ‹ μ˜ 계정에 root κΆŒν•œμ΄ μ—†λ‹€λ©΄ root κ³„μ •μœΌλ‘œ μ „ν™˜ν•΄μ£Όμž.

$ sudo su - root

그리고 vim을 톡해 /etc/ssh/sshd_config νŒŒμΌμ„ μ—΄μ–΄μ€€λ‹€.

$ vim /etc/ssh/sshd_config

μ—¬κΈ°μ„œ λ°”κΏ”μ•Ό ν•  뢀뢄은 2ꡰ데닀. (μš°λΆ€νˆ¬ 18.04 버전이라면 Port κ°’λ§Œ μˆ˜μ •ν•΄λ„ λœλ‹€.)

  • Port의 값을 λ°”κΏ”μ€€λ‹€. λ””ν΄νŠΈκ°’μ€ 22일텐데, μ΄λŠ” μœˆλ„μš°μ—μ„œ 이미 μ‚¬μš© 쀑인 포트이기 λ•Œλ¬Έμ— WSLμ—μ„œλŠ” λ‹€λ₯Έ κ°’μœΌλ‘œ λ°”κΏ”μ€˜μ•Ό ν•œλ‹€. μ λ‹Ήνžˆ 2222둜 해쀬닀.
  • PasswordAuthentication의 값을 yes둜 λ°”κΏ”μ€€λ‹€. νŒ¨μŠ€μ›Œλ“œ 인증을 μ‚¬μš©ν•˜λ„λ‘ μ„€μ •ν•˜λŠ” 것이닀.

μ €μž₯ ν›„ SSH μ„œλ²„λ₯Ό μž¬μ‹œμž‘ν•΄μ€€λ‹€:

$ sudo service ssh --full-restart

ν¬νŠΈν¬μ›Œλ”©

μ„œλ²„ 컴퓨터가 κ³΅μœ κΈ°μ— μ—°κ²°λ˜μ–΄ μžˆλŠ” μƒν™©μ—μ„œ μ™ΈλΆ€ ν„°λ―Έλ„λ‘œ μ ‘μ†ν•˜λ €λ©΄ ν¬νŠΈν¬μ›Œλ”©μ„ ν•΄μ€˜μ•Όν•œλ‹€.

곡인 μ•„μ΄ν”ΌλŠ” κ³΅μœ κΈ°μ— ν• λ‹Ήλ˜λŠ”λ°, κ³΅μœ κΈ°μ— μ—°κ²°λœ λ…ΈνŠΈλΆμ΄λ‚˜ νœ΄λŒ€ν° λ“±μ˜ λ””λ°”μ΄μŠ€μ—λŠ” 192.168.0.x와 같이 사섀 아이피가 ν• λ‹Ήλœλ‹€. λ”°λΌμ„œ μ™ΈλΆ€μ—μ„œ 곡인 아이피λ₯Ό μž…λ ₯해도 이 μ»΄ν“¨ν„°λ‘œλŠ” 접속을 ν•  μˆ˜κ°€ μ—†λŠ” 것이닀.

ipTIME λΌμš°ν„°λ₯Ό μ‚¬μš© 쀑이라면 λ‹€μŒ 과정을 λ”°λ₯΄λ©΄ λœλ‹€:

  1. λΈŒλΌμš°μ €μ— μ„œλ²„μ˜ 곡인 아이피 λ˜λŠ” 192.168.0.1을 μž…λ ₯ν•œλ‹€.
  2. 둜그인 ν›„ 'κ³ κΈ‰ μ„€μ • > NAT/λΌμš°ν„° 관리 > ν¬νŠΈν¬μ›Œλ“œ 섀정’에 λ“€μ–΄κ°„λ‹€.
  3. λ‚΄λΆ€ 아이피 μ£Όμ†ŒλŠ” 'ν˜„μž¬ μ ‘μ†λœ PC의 IP μ£Όμ†Œλ‘œ μ„€μ •β€™μœΌλ‘œ μ„€μ •ν•œλ‹€.
  4. ν”„λ‘œν† μ½œμ„ TCP둜 μ„€μ •ν•œλ‹€.
  5. μ™ΈλΆ€ ν¬νŠΈλŠ” sshd_config νŒŒμΌμ—μ„œ μ„€μ •ν•œ Port κ°’μœΌλ‘œ μ„€μ •ν•œλ‹€. (2222 ~ 2222)
  6. λ‚΄λΆ€ ν¬νŠΈλ„ λ˜‘κ°™μ΄ μ„€μ •ν•œλ‹€. (2222 ~ 2222)
  7. κ·œμΉ™ 이름은 λ§ˆμŒλŒ€λ‘œ μ •ν•œλ‹€.
  8. 쒌츑 μƒλ‹¨μ˜ 'μ €μž₯’을 ν΄λ¦­ν•œλ‹€.

곡유기 ν¬νŠΈν¬μ›Œλ”©μ€ 검색해도 많이 λ‚˜μ˜€κ³ , μƒν™œμ½”λ”© κ°•μ˜λ„ 잘 λ˜μ–΄μžˆλ‹€. 집 λ°–μ—μ„œλ„ λ‚΄ 컴퓨터에 μ ‘μ†ν•˜κΈ° μœ„ν•΄μ„  ν•„μˆ˜λ‹€.

λ°©ν™”λ²½ μ„€μ •

방화벽을 잊고 μžˆλ‹€κ°€ 쑰금 μ‚½μ§ˆμ„ ν–ˆλ‹€.

  1. 'μ œμ–΄νŒ > μ‹œμŠ€ν…œ 및 λ³΄μ•ˆ > Windows Defender 방화벽’에 λ“€μ–΄κ°€ 'κ³ κΈ‰ 섀정’을 ν΄λ¦­ν•œλ‹€.
  2. μΈλ°”μš΄λ“œ κ·œμΉ™μ„ ν΄λ¦­ν•˜κ³  'μƒˆ κ·œμΉ™β€™μ„ ν΄λ¦­ν•œλ‹€.
  3. κ·œμΉ™ μ’…λ₯˜λŠ” 'ν¬νŠΈβ€™λ₯Ό μ„ νƒν•œλ‹€.
  4. ν”„λ‘œν† μ½œμ€ TCP, 'νŠΉμ • 원격 ν¬νŠΈβ€™λŠ” μ•žμ„œ μ„€μ •ν•œ Port κ°’μœΌλ‘œ μ„€μ •ν•œλ‹€. (2222) 이름은 λ§ˆμŒλŒ€λ‘œ μ •ν•œλ‹€.
  5. μ•„μ›ƒλ°”μš΄λ“œ κ·œμΉ™λ„ λ§ˆμ°¬κ°€μ§€λ‘œ ν•΄μ€€λ‹€.

SSH μ„œλ²„ 접속

WSL bashλ₯Ό μ’…λ£Œν•˜λ©΄ SSH μ„œλ²„λ„ λ‹«ν˜€λ²„λ¦°λ‹€. λ‹€μ‹œ μ—΄κ³  싢을 λ•ŒλŠ” λ‹€μŒ λͺ…λ Ήμ–΄λ₯Ό μž…λ ₯ν•œλ‹€:

$ sudo service ssh start

puttyλ‚˜ termius 같은 ν”„λ‘œκ·Έλž¨μ„ μ΄μš©ν•΄ 접속 ν…ŒμŠ€νŠΈλ₯Ό ν•΄λ³΄μž. μ„œλ²„μ™€ 같은 μ»΄ν“¨ν„°μ—μ„œ μ ‘μ†ν•˜λŠ” 경우 hostname은 μ„œλ²„μ˜ 곡인 μ•„μ΄ν”Όλ‘œ, portλŠ” μ•žμ„œ μ„€μ •ν•œ 2222둜 두면 λœλ‹€.

Puttyμ—μ„œ 원격 접속.

λ„·λΆμ—μ„œ ν…ŒμŠ€νŠΈν–ˆκ³ , 이후 μ•„μ΄νŒ¨λ“œμ—μ„œλ„ ν…ŒμŠ€νŠΈν–ˆλŠ”λ° 잘 됐닀! 이제 학ꡐ에 λ…ΈνŠΈλΆλ“€κ³  가지 μ•Šκ³  ν”„λ‘œκ·Έλž˜λ°μ„ ν•  수 있게 λ˜μ—ˆλ‹€.