Prerequisite
본 가이드를 따라 인스턴스를 관리하기 전, 아래의 준비 사항이 완료되었는지 확인하십시오.
-
인증 키(Key Pair) 확보: 서버 접속을 위한 개인 키 파일을 로컬 PC에 다운로드합니다.
-
파일명:
key.pem(또는.cer)
-
파일명:
Process
AWS EC2(가상 컴퓨터) 퍼블릭 주소 확인법
-
AWS Console 접속 후 오른 쪽 상단 리전을 확인해 주세요
-
EC2 서비스로 이동합니다.
-
왼쪽 메뉴에서 인스턴스(Instances)를 클릭합니다.
-
리스트에서 해당 인스턴스를 선택합니다.
-
하단 상세 정보 탭에서 퍼블릭 IPv4 주소 또는 퍼블릭 IPv4 주소 항목의 값을 복사합니다.
MacOS Terminal SSH 접속 방법
- 터미널(Terminal) 실행합니다.
-
터미널 창에
.pem파일을 드래그 앤 드롭하면 해당 파일의 전체 경로가 자동으로 입력됩니다. 보통/Users/이름/Downloads/key.pem형태입니다. - 해당 키 위치를 복사합니다
- 예시 :
/Users/bradkim/Downloads/test-key.pem
- 예시 :
- 키 파일(.pem) 권한 변경 (중요)
- Mac(Linux/Unix) 환경에서는 키 파일의 권한이 너무 개방적일 경우 보안상의 이유로 접속을 거부합니다. 따라서 본인만 읽을 수 있도록 권한을 제한해야 합니다.
- 터미널에
chmod 400 [/패스/경로/key.pem]를 입력하세요.
- 아래 명령어를 입력합니다.
ssh -i [다운로드한 키 경로/내키이름.cer] ubuntu@서버아이피-
예시 :
ssh -i /Users/bradkim/Downloads/test-brad-kim.pem [ubuntu@54.180.31.115](<mailto:ubuntu@54.180.31.115>)
💡 최초 접속 시 보안 확인 (Are you sure...?)
처음 접속하면 아래와 같은 메시지가 나타납니다:
The authenticity of host '3.36.128.96' can't be established...Are you sure you want to continue connecting (yes/no/[fingerprint])?
- 이때 당황하지 마시고
yes를 입력한 후 엔터를 누릅니다.- 이는 해당 서버를 '신뢰할 수 있는 호스트' 목록(
known_hosts)에 등록하는 과정입니다.
Window Powershell SSH 접속 방법
- PowerShell을 킵니다.
-
다운로드 받은 키를 PowerShell에 drag and drop하여 키 위치를 알아냅니다
- 해당 키 위치를 복사합니다
- 예시 :
C:\\Users\\su\\Downloads\\my-key.cerorC:\\Users\\su\\Downloads\\my-key.pem
- 예시 :
- 아래 명령어를 입력합니다.
ssh -i "C:/다운로드한 키 경로/내키이름.cer" ubuntu@서버아이피- 예시 :
ssh -i "C:\\Users\\su\\Downloads\\test-key.cer" [ubuntu@3.36.128.96](<mailto:ubuntu@3.36.128.96>)
4-1. 권한 에러 해결
명령어를 입력했는데 "Permission denied"나 "Permissions 0644 for ... are too open"이라는 메시지가 뜬다면, 윈도우가 이 키 파일을 "아무나 읽을 수 있는 파일"로 인식해서 보안상 거부하는 것입니다.
이 문제를 해결하려면 둘 중 하나를 선택하세요.
1번
-
: PowerShell이나 CMD 창에
whoami라고 치면 나오는 이름(예:DESKTOP-XXXXX\\su)에서 뒷부분(su)이 윈도우 아이디를 복사합니다.. -
키 파일 우클릭: 사용 중인
.pem또는.cer파일의 [속성] 클릭. -
보안 탭 -> 고급: [보안] 탭으로 이동하여 하단의 [고급] 버튼 클릭.
-
[상속 사용 안 함]을 클릭하고, 팝업창에서 "이 개체에서 상속된 권한을 모두 제거합니다" 선택 (기존 권한 모두 삭제됨).
-
사용자 추가: [추가] -> [보안 주체 선택] 클릭.
-
'선택할 개체 이름을 입력하십시오' 칸에 본인의 윈도우 계정 아이디를 입력하고 [이름 확인] 후 [확인] 클릭.
-
다시 ssh -i "C:\Users\su\Downloads\test-key.cer" ubuntu@43.202.156.138 명령어로 시도 합니다.
2번
-
PowerShell을 실행한 후 아래 명령어를 그대로 복사해서 붙여넣으세요. 아래 코드에서
C:\\경로\\키이름.pem부분만 본인의 실제 경로로 바꿔주세요.
# 1. 상속된 권한 제거
icacls.exe "C:\\Users\\su\\Downloads\\test-key.cer" /inheritance:r
# 2. 현재 로그인한 사용자에게만 '읽기' 권한 부여
$currentUser = [System.Security.Principal.WindowsIdentity]::GetCurrent().Name
icacls.exe "C:\\Users\\su\\Downloads\\test-key.cer" /grant:r "${currentUser}:R"
Window/Mac 공통-VSCode 원격 접속 가이드
- VS Code를 실행합니다.
-
왼쪽 사이드바의 확장(Extensions) 아이콘(사각형 모양)을 클릭합니다.
-
Remote - SSH를 검색하여 설치(Install)합니다. (Microsoft에서 만든 공식 확장입니다.) -
왼쪽 하단의 파란색 아이콘
><(원격 창 열기)을 클릭 후Connect to Host...를 선택합니다
5. + Add New SSH Host… 를 클릭합니다.
6. 명령어 입력창에 아까 터미널에서 썼던 것과 비슷한 형식을 입력합니다
-
ssh -i "C:/Users/계정명/Downloads/new_key_pair.pem" [ubuntu@3.36.128.96](<mailto:ubuntu@3.36.128.96>)
7. 설정 파일을 저장할 경로를 물어보면 가장 위에 있는 C:/Users/사용자/.ssh/config를 선택합니다.
8. 다시 왼쪽 하단의 >< 아이콘을 누르고 Connect to Host...를 선택합니다.
9. 방금 추가한 3.xx.128.xx 항목이 목록에 뜹니다. 클릭하세요.
10. 서버 운영체제를 묻는다면 Linux를 선택합니다.
간혹 'Continue'(지문 인식/보안 확인) 창이 먼저 뜨는 경우가 있습니다.
11. 왼쪽 하단에 SSH : xx.xx.x.x(IP)가 나온다면 접속 성공입니다!
💡접속이 안되나요? 확인해 보세요!
Config 파일 확인:
F1키를 누르고Remote-SSH: Open SSH Configuration File...을 선택해 파일 내용이 아래와 같이 잘 들어갔는지 확인해 보세요.Host x.xx.xxx.xx HostName x.xx.xxx.xx User ubuntu IdentityFile "C:\Users\계정명\Downloads\new_key_pair.pem"