LainyZine: 프로그래머 가이드 🐣

[Windows 10] SSH로 리눅스 서버에서 접속하는 방법

리눅스 환경에서는 외부에서 작업하기 위해 OpenSSH 서버를 주로 운영합니다. 따라서 이 서버에 접속하려면 SSH 클라이언트가 필요합니다. 윈도우에서는 SSH 클라이언트로 Putty가 많이 사용되었습니다.

현재 윈도우 10에서는 선택적 기능으로 OpenSSH 클라이언트를 바로 사용할 수 있습니다. 또한 Windows Terminal이라는 마이크로소프트의 새로운 터미널 프로그램이 등장하면서, Windows Terminal + OpenSSH 클라이언트 조합만으로 다른 프로그램 없이도 쾌적하게 SSH 서버에 원격 접속하고 셸 작업을 하는 것이 가능합니다.

이 글에서는 Windows Terminal + OpenSSH 조합으로 SSH 서버에 접속하는 방법을 소개합니다.

Windows Terminal 및 OpenSSH 클라이언트 준비

Windows Terminal은 윈도우 10의 마이크로소프트 스토어에서 간단히 설치할 수 있습니다.

Windows Terminal 설치 및 초기 셋업에 대해서는 다음 글에서 더 자세히 소개합니다.

Windows Terminal 설치가 어렵다면, PowerShell을 사용해도 무방합니다.

다음으로 Windows + S 키를 입력하고 Windows Terminal을 검색해서 관리자 권한으로 실행해주세요. 검색 결과에서 오른쪽 버튼을 누르면 나오는 문맥 메뉴 최 상단의 ’관리자 권한으로 실행’을 선택하면 됩니다.

관리자 권한으로 Windows Terminal을 실행합니다

다음 명령어를 실행합니다. 윈도우 10의 선택적 기능 OpenSSH 클라이언트를 활성화합니다.

$ Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

윈도우 셸에 익숙하지 않다면, GUI로도 OpenSSH Client를 활성화할 수 있습니다.

  1. Windows 설정(제어판)을 열고 앱을 선택합니다.
  2. 사이드바의 앱 및 기능(기본값)을 선택하고, 선택적 기능 관리를 클릭합니다.
  3. 상단의 기능 추가 버튼을 클릭합니다.
  4. 검색창이 나타나면 OpenSSH를 검색하고 OpenSSH 클라이언트를 선택 및 설치합니다.
제어판에서 선택적 기능으로 OpenSSH 클라이언트를 설치

SSH로 리눅스 서버에 접속할 준비를 마쳤습니다!

OpenSSH 클라이언트 설치 확인하는 방법

이제 ssh -V를 입력해서, SSH 클라이언트 버전을 확인해봅니다.

$ ssh -V
OpenSSH_for_Windows_8.1p1, LibreSSL 3.0.2

정상적으로 설치되었다면 위와 같이 SSH 클라이언트의 버전이 나타납니다. 만약 설치가 되어있지 않다면 명령어가 없다는 에러가 나타납니다.

기본적으로 OpenSSH 클라이언트는 C:\Windows\System32\OpenSSH\에 설치되니 참고해주세요.

$ dir C:\Windows\System32\OpenSSH\

    디렉터리: C:\Windows\System32\OpenSSH

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----        2021-06-13   오후 3:04         396211 moduli
-a----        2021-05-20   오후 4:52         307712 scp.exe
-a----        2021-06-13   오후 3:04         307200 sftp-server.exe
-a----        2021-05-20   오후 4:52         374272 sftp.exe
-a----        2021-05-20   오후 4:52         481280 ssh-add.exe
-a----        2021-05-20   오후 4:52         382976 ssh-agent.exe
-a----        2021-05-20   오후 4:52         662016 ssh-keygen.exe
-a----        2021-05-20   오후 4:52         557568 ssh-keyscan.exe
-a----        2021-06-13   오후 3:04         151552 ssh-shellhost.exe
-a----        2021-05-20   오후 4:52         946176 ssh.exe
-a----        2021-06-13   오후 3:04        1008128 sshd.exe
-a----        2021-06-13   오후 3:04           2297 sshd_config_default

SSH 명령어로 리눅스 서버 접속하는 방법

이제 SSH 명령어로 리눅스 서버에 접속해보겠습니다. 앞서 OpenSSH 클라이언트 설치를 위해 Windows Terminal을 관리자 모드로 실행했습니다만, 더 이상 관리자 모드가 필요하지는 않습니다. 터미널 종료 후 다시 Windows + S에서 Windows Terminal을 검색해서 실행해주세요.

OpenSSH로 리눅스 서버에 접속하는 기본 명령어는 다음과 같습니다.

$ ssh [USER]@[HOSTNAME] -p [PORT]

대괄호 부분은 다음과 같이 변경해주세요

리눅스 서버 주소의 IP 주소가 192.0.1.127이고 22번 포트를 사용하는 경우 다음과 같이 접속할 수 있습니다.

$ ssh lainyzine@192.0.1.127 -p 22

명령어를 실행하면 이 호스트에 정말로 접속할지 물어봅니다. yes를 입력하면 알려진 호스트(known hosts) 목록에 추가하고 접속을 진행합니다.

$ ssh lainyzine@192.0.1.127 -p 22
The authenticity of host 'linux (192.0.1.27)' can't be established.
ECDSA key fingerprint is SHA256:vjHkxv736QyXeZ1GlinuxowhelloN6JworldDRvZsS9w.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes

별도의 SSH 키 셋업이 되어있지 않다면 Password를 물어봅니다.

Warning: Permanently added 'linux,192.0.1.27' (ECDSA) to the list of known hosts.
Password:

접속하려는 계정의 패스워드를 입력합니다. 리눅스 셸이 뜨면 정상입니다.

Welcome to Ubuntu 18.04.5 LTS (GNU/Linux 4.15.0-132-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

  System information as of Wed Aug  4 01:14:06 UTC 2021

...

lainyzine@linux:~$

리눅스(Ubuntu)에 접속되어있는지 확인하기 위해 lsb-release 파일을 출력해봅니다.

lainyzine@linux:~$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.5 LTS"

현재 작업 환경이 우분투 서버인 것을 확인할 수 있습니다!

부록: 윈도우 OpenSSH 서버에 접속하는 방법

윈도우에서도 OpenSSH 서버를 실행하고 외부에서 셸로 접속하는 것이 가능합니다. 따라서 앞서 설치한 OpenSSH 클라이언트로 다른 윈도우에 SSH 접속하는 것이 가능합니다. 이에 대해서는 다음 글에서 자세히 소개합니다.

부록: OpenSSH Agent 실행하는 방법

리눅스나 맥에서 OpenSSH 클라이언트를 사용해보았다면 SSH 키 관리를 위한 OpenSSH Agent가 실행되는 것을 알고 있을 것입니다. Windows 10에서는 기본적으로 OpenSSH Agent가 비활성화되어있습니다. 이를 활성화해보겠습니다(SSH Agent와 자세한 사용법에 대해서는 별도로 소개하도록 하겠습니다).

먼저 Windows + S 키를 입력서 서비스를 검색해 열어줍니다.

서비스 앱을 실행합니다

OpenSSH Authentication Agent를 찾아 오른쪽 버튼 -> 속성을 열어줍니다.

OpenSSH Authentication Agent를 찾아서 속성을 엽니다

일반 탭에서 시작 유형을 자동으로 변경합니다.

시작 유형을 자동으로 변경합니다

세 번째 복구 탭으로 이동합니다. 첫째 실패, 둘째 실패, 후속 실패 옵션을 전부 ’서비스 다시 시작’으로 변경하고 확인을 클릭합니다.

복구 탭의 내용을 서비스 다시 시작으로 변경합니다

다시 OpenSSH Authentication Agent 항목에서 오른쪽 버튼을 눌러 시작을 클릭해줍니다.

OpenSSH Authenticaiton Agent를 실행합니다

이제 SSH Agent가 활성화되었습니다!

LainyZine은 쿠팡 파트너스 활동에 따른 수수료를 제공받습니다.