# SSH 키 추가 및 관리

Source: https://support.kapsulehost.com/ko-kr/cloud-servers-ssh-keys

SSH 키를 사용하면 비밀번호 없이 서버에 로그인할 수 있습니다. 비밀번호보다 안전하고 사용하기도 더 빠릅니다. 이 가이드에서는 키를 만드는 방법, 주문하기 전에 계정에 키를 추가하는 방법, 더 이상 쓰지 않는 키를 삭제하는 방법을 다룹니다.

## SSH 키의 작동 방식

SSH 키는 두 부분으로 이루어져 있습니다.

- **개인 키**는 내 컴퓨터에 그대로 둡니다. 어디에도 붙여넣거나 공유하지 마세요.
- **공개 키**는 서버에 제공하는 부분입니다. 공유해도 안전합니다.

연결할 때 내 컴퓨터는 서버에 있는 공개 키와 짝이 맞는 개인 키를 가지고 있음을 증명합니다. 비밀번호는 전송되지 않습니다.

## 키 만들기

키는 서버가 아니라 내 컴퓨터에서 만드세요. macOS, Linux, Windows(PowerShell 또는 Windows Terminal)에서 다음을 실행합니다.

```
ssh-keygen -t ed25519 -C "you@example.com"
```

Enter 키를 눌러 기본 저장 위치를 그대로 사용하고, 요청이 나오면 암호 문구를 설정합니다. 이제 파일 두 개가 생깁니다.

- `~/.ssh/id_ed25519`는 개인 키입니다.
- `~/.ssh/id_ed25519.pub`는 공개 키입니다.

공개 키를 보려면 다음을 실행합니다.

```
cat ~/.ssh/id_ed25519.pub
```

`ssh-ed25519`로 시작하는 한 줄 전체를 복사하세요.

> **Warning:** 항상 `.pub`로 끝나는 파일만 복사하세요. 다른 파일은 개인 키이며, 이 파일을 가진 사람은 이 키를 신뢰하는 모든 서버에 로그인할 수 있습니다. 실수로 공유했다면 새 키를 만들고 모든 곳에서 기존 키를 교체하세요.

## 계정의 SSH 키

SSH 키는 서버 하나가 아니라 계정에 속합니다. 모든 새 서버는 키와 함께 주문되며, 출시 시점에는 키로 로그인합니다. 사이드바에서 서버 섹션 옆에 있는 **SSH 키** 페이지에서 키를 추가하세요. 이 페이지는 서버가 없어도 사용할 수 있으므로 키를 먼저 추가한 다음 주문할 수 있습니다. 같은 목록이 모든 서버의 **SSH 키** 탭에도 있습니다.

키를 추가하려면 다음과 같이 합니다.

1. 사이드바에서 **SSH 키**를 클릭하거나, 아무 서버나 열고 서버 메뉴에서 **SSH 키**를 클릭합니다.
2. **SSH 키 추가**를 클릭합니다.
3. **이름**(예: "내 노트북")을 입력하고, `.pub` 파일의 한 줄 전체를 **공개 키**에 붙여넣습니다.
4. **키 추가**를 클릭합니다. KPanel에 키가 추가되었다고 표시됩니다.

![KPanel에서 서버의 SSH 키 탭](https://support.kapsulehost.com/help/screenshots/cloud-servers-ssh-keys.2f07b4bd.webp)

Ed25519 키를 권장합니다. RSA 키는 3072비트 이상이어야 하며, ECDSA 키도 사용할 수 있습니다. 계정 하나에 키를 최대 50개까지 보관할 수 있으며, 같은 키를 두 번 추가할 수는 없습니다.

키 이름을 바꾸려면 옆에 있는 연필 아이콘을 클릭하세요. 키를 삭제하려면 휴지통 아이콘을 클릭한 다음 **키 삭제**를 클릭하세요. 키의 **지문(Fingerprint)**을 클릭하면 복사됩니다.

> **Warning:** 여기에서 키를 추가해도 이미 있는 서버에는 들어가지 않습니다. 키를 추가한 이후에 주문하는 서버에서 선택할 수 있습니다. 여기에서 키를 삭제해도 서버에서 제거되지 않습니다. 아래 설명처럼 각 서버에서도 제거하세요.

## 새 서버에 키 추가하기

주문의 **SSH 키 및 이름** 단계에서 root로 로그인할 수 있는 키를 각각 선택합니다. 주문 하나에 최대 20개까지 여러 개를 선택할 수 있습니다. 여기에서 새 키를 추가하려면 **SSH 키 추가**를 클릭하고, **키 이름**을 입력하고, **공개 키**를 붙여넣은 다음 **키 추가**를 클릭하세요. 키가 계정에 저장되고 선택됩니다. Windows 서버는 비밀번호로 로그인하므로 SSH 키를 사용하지 않습니다.

나중에 서버를 재구축하면 여기에서 선택한 키가 다시 설정됩니다. 주문 후에 추가한 키는 다시 설정되지 않습니다.

## 접속할 수 있는 서버에 키 추가하기

이미 서버에 로그인할 수 있다면, 로그인하는 사용자의 `authorized_keys` 파일에 다른 공개 키를 덧붙여 추가하세요. root 사용자의 경우 다음과 같습니다.

```
echo "ssh-ed25519 AAAA... you@example.com" >> /root/.ssh/authorized_keys
```

예시 대신 본인의 공개 키 줄을 붙여넣으세요. 그런 다음 현재 세션을 닫기 전에 새 터미널을 열어 키로 로그인할 수 있는지 확인하세요.

## 키 제거하기

키가 더 이상 동작하지 않게 하려면 서버에 로그인해 `authorized_keys`에서 해당 줄을 삭제하세요.

```
nano /root/.ssh/authorized_keys
```

해당 키의 줄을 삭제하고 파일을 저장한 다음 편집기를 닫습니다. 노트북을 잃어버렸을 때, 팀원이 떠났을 때, 키를 교체할 때 이렇게 하세요.

KapsuleHost는 백업, 모니터링, 보안 업데이트를 위해 저희가 구축하는 모든 서버에 관리 키(이름: kapsulehost-management)를 유지합니다. 이 키를 삭제하면 해당 기능이 중지됩니다.

> **Note:** 서버 안에서 직접 추가한 키는 서버 디스크에 저장되므로 [재구축](https://support.kapsulehost.com/ko-kr/cloud-servers-rebuild)하면 지워집니다.

## 웹사이트용 키

저희 호스팅의 웹사이트에 대한 SSH 액세스는 서버와 별개입니다. 웹사이트의 경우 **웹사이트**로 이동해 사이트를 연 다음 **SSH 키**를 여세요.

## 관련 문서

- [SSH로 서버에 연결하기](https://support.kapsulehost.com/ko-kr/cloud-servers-ssh-connect)
- [서버 만들기](https://support.kapsulehost.com/ko-kr/cloud-servers-create)
- [복구 모드](https://support.kapsulehost.com/ko-kr/cloud-servers-rescue)
- [서버 재구축하기](https://support.kapsulehost.com/ko-kr/cloud-servers-rebuild)
