# GitHub SSH 표준키 — 사용 방법과 코드 (그룹웨어 공용)

**2026-10-08 대표 지시**: 그룹웨어에는 키 값(공개키·개인키)을 **두지 않고**, 사용 방법과 코드만 둔다.
함대 전체가 SSH 상호접속에 쓰는 `id_ed25519_lab`와 **같은 키**를 GitHub 인증에도 쓴다(별도 GitHub 전용 키 없음).
확인용 지문: `SHA256:v5y2PEgD9KpMLG+/uodUvYSxW6dujPr+LKqZdWSFjF8` (키 자체가 아님)

## 어디에 있나

| 용도 | 위치 |
|---|---|
| 공개키(접속을 **받는** 기기용) | `https://github.com/leechungjong.keys` (공개 주소, 여기서 받는다) |
| 개인키(접속을 **시작하는** 기기용) | 맥북 `~/.ssh/id_ed25519_lab` (원본 보관: `_wiki/_apikey/_all_apikeys.md` 의 "GitHub SSH Key" 항목) |

## 1. 새 기기를 "접속받는 쪽"으로 만들기 (가장 흔함 — 공개키만 필요)

```bash
mkdir -p ~/.ssh && chmod 700 ~/.ssh
curl -fsSL https://github.com/leechungjong.keys >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
sudo apt install -y openssh-server && sudo systemctl enable --now ssh
hostname -I        # 이 IP를 시스템관장자에게 알린다
```

## 2. 새 기기가 "접속을 시작하는 쪽"일 때 (SSH 발신, GitHub 비공개 저장소 clone/pull)

개인키를 **맥북에서 직접 복사**한다(내용을 화면·문서·채팅에 붙여넣지 않는다).

```bash
# 맥북에서 실행 (새 기기 IP를 넣는다)
scp ~/.ssh/id_ed25519_lab cj@<새기기IP>:~/.ssh/id_ed25519_lab
```

```bash
# 새 기기에서 실행
chmod 600 ~/.ssh/id_ed25519_lab
cat >> ~/.ssh/config <<'EOF'
Host github.com
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_ed25519_lab
    IdentitiesOnly yes
EOF
chmod 600 ~/.ssh/config
ssh -T git@github.com            # "Hi leechungjong!" 이 나오면 성공
git clone git@github.com:<owner>/<repo>.git
```

## 3. 점검

```bash
ssh-keygen -lf ~/.ssh/id_ed25519_lab      # 지문이 위 확인용 지문과 같아야 한다
ssh -o BatchMode=yes cj@<기기IP> hostname # 접속 시험
```

## 주의
- 개인키 파일의 내용은 **문서·채팅·로그·이 그룹웨어에 붙여넣지 않는다.** 복사는 `scp`로만.
- 권한: `~/.ssh` 700, 개인키·`authorized_keys`·`config` 600.
- 키를 잃어버리거나 교체할 때는 `_wiki/_apikey/_all_apikeys.md` 원본과 GitHub 등록(Settings → SSH and GPG keys)을 함께 갱신한다.
