본문 바로가기
Programing & OS

ssh key로 접근하자 암호넣기 귀찮아

by 자루스 2026. 2. 21.

암호를 저장해서 ftp에 연결하는것은 사실 위험하다.

특히 윈도우 앱들은 그것을 권장하지는 않는다.
그런데 이 귀찮니즘이 문제다. 그래서 키값으로 등록하고 쓰기로 했다.
사실 별거 아니다. 굉장히 쉽다. 
아주 간단히 정리한다. (windows 기준이지만 원리는 MAC도 똑같다.) 
모르면 chatgpt에게 물어봐도 되지만 
이상한 질문들을 오히려 한다. 귀찮은 녀석 
큰 흐름은 이렇다.

 

윈도우에서 SSH 키 등록하는 방법 (키 생성 → 서버 등록 → config 정리)

윈도우(Windows Terminal/PowerShell)에서 SSH 키를 생성하고, 서버(CentOS/Rocky9)에 공개키를 등록(authorized_keys)한 뒤, .ssh/configHost 별칭까지 정리하는 흐름이다.


0) 준비

  • 윈도우에 OpenSSH가 있어야 한다. (대부분 기본 포함)
  • 서버는 SSH 접속 가능 상태여야 한다.

버전 확인

ssh -V

1) 키 생성 (Windows)

PowerShell에서 아래처럼 키를 생성한다. (예: server_rocky)

ssh-keygen -t ed25519 -f $env:USERPROFILE\.ssh\server_rocky

정상이라면 아래 2개 파일이 생성된다.

  • C:\Users\<사용자>\.ssh\server_rocky (개인키, 절대 외부 공유 금지)
  • C:\Users\<사용자>\.ssh\server_rocky.pub (공개키, 서버에 등록할 것)

생성 확인

dir $env:USERPROFILE\.ssh

2) 서버에 공개키 등록 (authorized_keys)

2-1) (권장) Windows에서 한 줄로 서버에 append 등록

Windows에는 ssh-copy-id가 기본으로 없으므로, 아래처럼 파이프 방식으로 등록한다. (아래에서 IP/PORT는 $$$ 로 표기)

type $env:USERPROFILE\.ssh\server_rocky.pub | ssh -p $$$ root@$$$.222.222.222 "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

비밀번호를 1회 입력하면 공개키가 서버의 ~/.ssh/authorized_keys에 추가된다.

2-2) 서버에서 권한 설정 (매우 중요)

서버에 접속한 뒤 아래 권한을 반드시 맞춘다.

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

(root 계정이면 홈이 /root이므로 /root/.ssh/authorized_keys에 적용된다)

2-3) 등록 확인

cat ~/.ssh/authorized_keys

3) Windows에서 ~/.ssh/config 정리

이제부터는 ssh -i ... 같은 옵션 없이도 Host 별칭으로 접속할 수 있다.

config 파일 열기/생성

notepad $env:USERPROFILE\.ssh\config

예시 설정 (Host명/아이피/포트 모두 $$$ 처리)

Host $$$
    HostName $$$
    User root
    Port $$$
    IdentityFile ~/.ssh/server_rocky
  • Host $$$ : 내가 쓸 별칭 이름 (예: db/web/odds/rocky 같은 이름)
  • HostName $$$ : 서버 IP 또는 도메인
  • Port $$$ : SSH 포트 (기본 22가 아니라면 필수)
  • IdentityFile ~/.ssh/server_rocky : 사용할 개인키 경로

4) 접속 테스트

SSH

ssh $$$

SFTP

sftp $$$

비밀번호를 묻지 않으면 성공이다.


5) (선택) 여러 서버를 분리 키로 운영하는 예시

서버가 3~4대라면 키를 분리해 관리하는 방식이 깔끔하다. 예:

  • server_db / server_db.pub
  • server_web / server_web.pub
  • server_back / server_back.pub
  • server_rocky / server_rocky.pub

각 서버의 config에서 IdentityFile만 다르게 지정하면 된다.


정리

  1. 키 생성: ssh-keygen -t ed25519 -f ...
  2. 서버 등록: server_rocky.pub 내용을 authorized_keys에 추가
  3. 권한: ~/.ssh는 700, authorized_keys는 600
  4. config: Host 별칭으로 ssh $$$ 접속