> For the complete documentation index, see [llms.txt](https://ia-cloud.gitbook.io/cloudia-manual/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ia-cloud.gitbook.io/cloudia-manual/user-guide/examples-and-labs/07-access-instance-with-ssh-key.md).

# SSH 키를 사용한 인스턴스 접속하기

이 문서는 SSH 키를 등록하고 인스턴스에 적용한 뒤 SSH 접속을 확인하는 실습입니다.

## 사전 준비

* Cloud:iA 웹콘솔 접근 가능
* 프로젝트 계정(`project-owner`)으로 로그인 가능
* 접속 대상 Linux 인스턴스와 플로팅 IP 준비
* 인스턴스 보안그룹에서 `22/tcp` 인바운드 허용
* 로컬 터미널에서 `ssh-keygen`, `ssh` 사용 가능

## 개요

1. [SSH 키 생성 및 등록](#step-1)
2. [인스턴스에 SSH 키 연결](#step-2)
3. [SSH 접속 확인](#step-3)

## 1단계: SSH 키 생성 및 등록

**수행 계정/화면:** `프로젝트 계정` / `프로젝트 페이지`

### 절차

1. 로컬에서 SSH 키를 생성합니다.
2. 공개키를 복사합니다.
3. `가상머신 > SSH 키`에서 `등록`을 클릭합니다.
4. 이름과 공개키의 내용을 복사/붙여넣기하여 등록합니다.

### 공개키 생성 예시

* 로컬 명령어 `ssh-keygen -t ed25519 -f ~/.ssh/example-key-ed25519 -C "example-key"`
* 공개키 경로 `~/.ssh/example-key-ed25519.pub`

### 입력 예시

| 항목  | 값                                                |
| --- | ------------------------------------------------ |
| 이름  | `example-ssh-key-ed25519`                        |
| 공개키 | `ssh-ed25519 ********************** example-key` |

### 확인

* SSH 키 목록에 `example-ssh-key-ed25519`가 표시됩니다.
* 지문(Fingerprint)이 생성됩니다.

## 2단계: 플로팅 IP가 연결된 인스턴스에 SSH 키 연결

**수행 계정/화면:** `프로젝트 계정` / `프로젝트 페이지`

### 절차

1. `가상머신 > 인스턴스 상세 > 연결된 리소스 > 플로팅 IP`에서 대상 인스턴스에 플로팅 IP가 연결되어 있는지 확인합니다.
2. 인스턴스 생성 또는 편집 화면에서 `사용자 계정 > 인증 방식`을 `SSH 키`로 선택합니다.
3. 등록한 SSH 키를 선택하고 저장합니다.

### 입력 예시

| 항목           | 값                          |
| ------------ | -------------------------- |
| 대상 인스턴스      | `example-instance-ssh-001` |
| 플로팅 IP 연결 여부 | `연결됨`                      |
| SSH 키        | `example-ssh-key-ed25519`  |

### 확인

* 인스턴스 상세 `연결된 리소스 > SSH 키`에 선택한 키가 보입니다.
* 인스턴스 상세 `연결된 리소스 > 플로팅 IP`에 외부 접속용 IP가 표시됩니다.

## 3단계: SSH 접속 확인

**수행 계정/화면:** `로컬 터미널` / `SSH 클라이언트`

### 절차

1. 플로팅 IP와 사용자 이름을 확인합니다.
2. 로컬에서 SSH 접속을 시도합니다.

### 입력 예시

| 항목     | 값                                                              |
| ------ | -------------------------------------------------------------- |
| 사용자 이름 | `example-user`                                                 |
| 플로팅 IP | `192.168.11.13`                                                |
| 접속 명령어 | `ssh -i ~/.ssh/example-key-ed25519 example-user@192.168.11.13` |

### 확인

* SSH 세션이 정상 연결됩니다.
* `hostname`, `ip a` 명령으로 접속한 VM을 확인할 수 있습니다.
