윈도우 ssh 접속 명령어 - windou ssh jeobsog myeonglyeong-eo

컴퓨터

윈도우10 에서 CMD로 SSH 접속하기 (Windows 10 SSH)

Charging 2020. 4. 15. 13:11

윈도우 ssh 접속 명령어 - windou ssh jeobsog myeonglyeong-eo

SSH 뜻

시큐어 셸(Secure Shell, SSH)은 네트워크 상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있도록 해 주는 응용 프로그램 또는 그 프로토콜을 가리킨다.

출처 : 위키백과

윈도우10에서 CMD(명령프롬프트)로 SSH 원격 접속할 수 있다고 합니다.

1. SSH 클라이언트 설치
윈도우 ssh 접속 명령어 - windou ssh jeobsog myeonglyeong-eo
▲ 윈도우10 설정

윈도우10 설정을 열고

앱 설정으로 들어갑니다.

윈도우 ssh 접속 명령어 - windou ssh jeobsog myeonglyeong-eo
▲ 윈도우10 설정 앱 및 기능

윈도우10 설정 앱 및 기능에서

선택적 기능을 누릅니다.

윈도우 ssh 접속 명령어 - windou ssh jeobsog myeonglyeong-eo
▲ 윈도우10 설정 앱 선택적기능

윈도우10 설정 선택적 기능에서

기능추가를 누릅니다.

윈도우 ssh 접속 명령어 - windou ssh jeobsog myeonglyeong-eo
▲ 윈도우10 선택적기능 추가

선택적 기능에서 OpenSSH 클라이언트를 선택 하고

설치를 누릅니다.

윈도우 ssh 접속 명령어 - windou ssh jeobsog myeonglyeong-eo
▲ 윈도우 10 OpenSSH 클라이언트 설치 중

설치를 누르면 윈도우10에 

Open SSH 클라이언트가 설치가 됩니다.

설치 시간은 1분 정도 소요 됩니다.

2. 윈도우10에서 SSH 접속하기
윈도우 ssh 접속 명령어 - windou ssh jeobsog myeonglyeong-eo
▲ 윈도우10 cmd 창

[윈도우키] + [R] 단축키를 눌러 cmd을 누르고 Enter를 입력하여

cmd창을 열거나

or

[윈도우키] 키를 누르고 cmd을 입력하고 Enter를  누르면 cmd창을

열 수 있습니다.

윈도우10  cmd 창을 열어서 아래 명령어를 입력합니다.

ssh [계정]@[접속주소]
ssh [계정]@[접속주소] -p [포트번호]

ex) ssh -p 22

 입력하고 엔터를 누르면

윈도우 ssh 접속 명령어 - windou ssh jeobsog myeonglyeong-eo
▲ Windows 10 SSH 접속 성공 

계정의 패스워드를 입력하라고 나오게 됩니다.

만약에 서버에 암호 설정을 하지 않았다면 암호를 묻지 않습니다.

패스워드를 입력하면 보안상의 이유로

cmd창에는 글자가 표시가 되지 않습니다.

암호를 입력후 Enter을 눌러 문제가 없다면

SSH서버에 접속에 성공 하게 됩니다.

3. SSH 접속파일을 만들어서 SSH 서버 접속하기
윈도우 ssh 접속 명령어 - windou ssh jeobsog myeonglyeong-eo
▲ 윈도우10 메모장

윈도우10에서 메모장을 열어서

다음과 같이 입력합니다.

@echo off

title ssh서버 접속
ssh 계정@SSH주소 -p 포트번호

:pause

title, 포트번호는 필수로 적을 필요는 없고

계정, SSH서버주소만 적어도 접속은 됩니다.

윈도우 ssh 접속 명령어 - windou ssh jeobsog myeonglyeong-eo
▲ ssh 접속파일 저장시

메모장에 입력 후 저장 할때는

파일이름 뒤에 '.bat' 확장자를 붙여주고 

저장합니다.

만든 접속파일을 클릭시 SSH에 주소나 포트번호 적을 필요 없이 바로 접속할 수 있습니다.

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

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

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

  • Windows Terminal 및 OpenSSH 클라이언트 준비
  • OpenSSH 클라이언트 설치 확인하는 방법
  • SSH 명령어로 리눅스 서버 접속하는 방법
  • 부록: 윈도우 OpenSSH 서버에 접속하는 방법
  • 부록: OpenSSH Agent 실행하는 방법

Windows Terminal 및 OpenSSH 클라이언트 준비

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

  • Windows Terminal - Microsoft Store ko-KR

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

  • 관련 글: Windows Terminal(PowerShell, WSL2 등) 설치하는 방법

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

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

  • 관련 글: 관리자 모드로 명령 프롬프트, Windows Terminal 등 실행하는 방법
윈도우 ssh 접속 명령어 - windou ssh jeobsog myeonglyeong-eo

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

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

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

  1. Windows 설정(제어판)을 열고 앱을 선택합니다.
  2. 사이드바의 앱 및 기능(기본값)을 선택하고, 선택적 기능 관리를 클릭합니다.
  3. 상단의 기능 추가 버튼을 클릭합니다.
  4. 검색창이 나타나면 OpenSSH를 검색하고 OpenSSH 클라이언트를 선택 및 설치합니다.
윈도우 ssh 접속 명령어 - windou ssh jeobsog myeonglyeong-eo

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]

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

  • [USER]: 접속할 리눅스 사용자를 입력합니다.
  • [HOSTNAME]: 네트워크 상 접근 가능한 호스트네임이나 IP를 지정합니다.
  • [PORT]: 리눅스 서버의 SSH 포트. 22번을 사용한다면 -p 옵션을 생략해도 됩니다.

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

$ ssh  -p 22

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

$ ssh  -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 접속하는 것이 가능합니다. 이에 대해서는 다음 글에서 자세히 소개합니다.

  • 관련 글: <Windows 10> OpenSSH 서버 실행하고 SSH로 접속하는 방법

부록: OpenSSH Agent 실행하는 방법

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

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

윈도우 ssh 접속 명령어 - windou ssh jeobsog myeonglyeong-eo

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

윈도우 ssh 접속 명령어 - windou ssh jeobsog myeonglyeong-eo

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

윈도우 ssh 접속 명령어 - windou ssh jeobsog myeonglyeong-eo

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

윈도우 ssh 접속 명령어 - windou ssh jeobsog myeonglyeong-eo

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

윈도우 ssh 접속 명령어 - windou ssh jeobsog myeonglyeong-eo

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