SSH 클라이언트로 Linux 인스턴스에 연결하기

SSH 클라이언트로 Linux 인스턴스에 연결하기

**SSH(Secure Shell)**를 사용하면 로컬 컴퓨터에서 Linux 인스턴스에 연결할 수 있어요. 다른 옵션에 대한 자세한 내용은 Connect to your EC2 instance 문서를 참고하세요.

출처: 문서

본문

참고: 인스턴스에 연결하는 동안 오류가 발생하면 인스턴스가 모든 SSH 연결 사전 조건을 충족하는지 확인하세요. 모든 사전 조건을 충족했는데도 여전히 Linux 인스턴스에 연결할 수 없다면 Troubleshoot issues connecting to your Amazon EC2 Linux instance 문서를 참고하세요.

목차 (Contents)

  • SSH 연결 사전 조건 (SSH connection prerequisites)
  • SSH 클라이언트로 Linux 인스턴스에 연결 (Connect to your Linux instance using an SSH client)

SSH 연결 사전 조건 (SSH connection prerequisites)

SSH로 Linux 인스턴스에 연결하기 전에 다음 작업을 완료하세요.

  1. 일반 사전 조건을 완료합니다.
  2. 인스턴스가 상태 검사를 통과했는지 확인합니다. 인스턴스가 연결 요청을 수락할 준비가 되기까지 몇 분이 걸릴 수 있어요. 자세한 내용은 View status checks 문서를 참고하세요.
  3. 필요한 인스턴스 세부 정보를 가져옵니다.
  4. 프라이빗 키를 찾고 권한을 설정합니다.
  5. (선택) 인스턴스 핑거프린트를 가져옵니다.
  6. 내 IP 주소에서 인바운드 SSH 트래픽을 허용합니다. 인스턴스와 연결된 보안 그룹이 내 IP 주소에서 들어오는 인바운드 SSH 트래픽을 허용하는지 확인하세요. 자세한 내용은 Rules to connect to instances from your computer 문서를 참고하세요.
  7. (필요한 경우) 로컬 컴퓨터에 SSH 클라이언트를 설치합니다. 로컬 컴퓨터에 SSH 클라이언트가 기본으로 설치되어 있을 수 있어요. 터미널 창에서 다음 명령을 입력해 확인할 수 있습니다. 컴퓨터가 명령을 인식하지 못하면 SSH 클라이언트를 설치해야 해요.
ssh

다음은 Windows의 가능한 옵션 일부예요. 컴퓨터가 다른 운영 체제를 실행 중이라면 그 운영 체제의 문서에서 SSH 클라이언트 옵션을 확인하세요.

Windows에 OpenSSH 설치

Windows에 OpenSSH를 설치하면 Windows 컴퓨터에서 SSH로 Linux 인스턴스에 연결할 수 있어요. 시작하기 전에 다음 요구사항을 충족하는지 확인하세요.

Windows 버전 (Windows version)

컴퓨터의 Windows 버전이 Windows Server 2019 이상이어야 해요. 이전 Windows 버전에서는 대신 Win32-OpenSSH를 다운로드해 설치하세요.

PowerShell 요구사항 (PowerShell requirements)

PowerShell로 Windows OS에 OpenSSH를 설치하려면 PowerShell 버전 5.1 이상을 실행 중이어야 하고, 계정이 기본 제공 Administrators 그룹의 구성원이어야 합니다. PowerShell에서 $PSVersionTable.PSVersion을 실행해 PowerShell 버전을 확인하세요.

기본 제공 Administrators 그룹의 구성원인지 확인하려면 다음 PowerShell 명령을 실행합니다.

(New-Object Security.Principal.WindowsPrincipal([Security.Principal.WindowsIdentity]::GetCurrent())).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)

기본 제공 Administrators 그룹의 구성원이면 출력은 True예요.

PowerShell로 Windows용 OpenSSH 설치

다음 PowerShell 명령을 실행합니다.

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

다음은 출력 예시입니다.

Path          :
Online        : True
RestartNeeded : False

PowerShell로 Windows에서 OpenSSH 제거

다음 PowerShell 명령을 실행합니다.

Remove-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

다음은 출력 예시입니다.

Path          :
Online        : True
RestartNeeded : True

WSL에서 SSH 사용

Windows에 WSL을 설치하면 Windows 컴퓨터에서 SSH 클라이언트 같은 Linux 명령줄 도구를 사용해 Linux 인스턴스에 연결할 수 있어요. Install Windows Subsystem for Linux on your EC2 Windows instance 문서의 지침을 따르세요. Microsoft의 설치 안내서 지침을 따르면 Linux의 Ubuntu 배포판이 설치됩니다. 원한다면 다른 Linux 배포판을 설치할 수도 있어요.

WSL 터미널 창에서 Windows에서 WSL로 .pem 파일(실행 시 인스턴스에 지정한 키 페어용)을 복사합니다. 인스턴스에 연결할 때 사용할 WSL의 .pem 파일 전체 경로를 메모해 두세요. Windows 하드 드라이브 경로를 지정하는 방법에 대한 정보는 How do I access my C drive? 문서를 참고하세요.

cp /mnt/<Windows drive letter>/path/my-key-pair.pem ~/WSL-path/my-key-pair.pem

Windows Subsystem for Linux 제거에 대한 정보는 How do I uninstall a WSL Distribution? 문서를 참고하세요.

SSH 클라이언트로 Linux 인스턴스에 연결하기

다음 절차를 사용해 SSH 클라이언트로 Linux 인스턴스에 연결합니다.

SSH 클라이언트로 인스턴스에 연결하려면

  1. 컴퓨터에서 터미널 창을 엽니다.
  2. ssh 명령으로 인스턴스에 연결합니다. 사전 조건에서 수집한 인스턴스 세부 정보가 필요해요. 예를 들어 프라이빗 키(.pem 파일)의 위치, 사용자 이름, 퍼블릭 DNS 이름 또는 IPv6 주소가 필요합니다. 다음은 명령 예시예요.
    • (퍼블릭 DNS) 퍼블릭 DNS 이름을 사용하려면 다음 명령을 입력합니다.
ssh -i /path/key-pair-name.pem instance-user-name@instance-public-dns-name
  • (IPv6) 인스턴스에 IPv6 주소가 있다면 다음 명령을 입력해 IPv6 주소를 사용할 수 있어요.
ssh -i /path/key-pair-name.pem instance-user-name@2001:db8::1234:5678:1.2.3.4
  1. 다음은 응답 예시입니다.
The authenticity of host 'ec2-198-51-100-1.compute-1.amazonaws.com (198-51-100-1)' can't be established.
ECDSA key fingerprint is l4UB/neBad9tvkgJf1QZWxheQmR59WgrgzEimCG6kZY.
Are you sure you want to continue connecting (yes/no)?
  1. (선택) 보안 경고의 핑거프린트가 핑거프린트와 일치하는지 확인합니다. 핑거프린트가 일치하지 않으면 누군가 **중간자 공격(man-in-the-middle attack)**을 시도하는 것일 수 있어요. 일치한다면 다음 단계로 계속합니다. 자세한 내용은 Get the instance fingerprint 문서를 참고하세요.
  2. yes를 입력합니다.
  3. 다음과 같은 응답이 표시됩니다.
Warning: Permanently added 'ec2-198-51-100-1.compute-1.amazonaws.com' (ECDSA) to the list of known hosts.

더 알아보기 (Learn more)