본문 바로가기
Programing & OS

추가 보안 작업 - 2부 -

by 자루스 2026. 2. 5.

 

SSH 키 인증 구성 정리 (비밀번호 로그인 차단까지)

이 글은 맥 → 서버 환경에서 SSH 접속을 비밀번호 방식에서 키 인증 방식으로 전환하고, 최종적으로 비밀번호 로그인을 완전히 차단하기까지의 실제 진행 과정을 정리한 것이다.


1) 전제 환경

  • 로컬: macOS (Cursor / ForkLift 사용)
  • 서버: Linux (sshd 사용)
  • 접속 포트: 27577
  • 목표:
    • SSH 키 기반 접속
    • 비밀번호 로그인 차단
    • Cursor / ForkLift / 터미널 모두 동일 키 사용

2) 맥에서 SSH 키 생성

ssh-keygen -t ed25519 -C "mac->server"

기본 경로(~/.ssh/id_ed25519) 사용.
결과:

  • 개인키: ~/.ssh/id_ed25519
  • 공개키: ~/.ssh/id_ed25519.pub

3) 공개키를 서버에 등록

ssh-copy-id 사용 (포트 지정)

ssh-copy-id -i ~/.ssh/id_ed25519.pub -p 27577 USER@SERVER_IP

최초 1회 비밀번호 입력은 키 등록 과정이므로 정상.

등록 후 키 접속 테스트

ssh -i ~/.ssh/id_ed25519 -p 27577 USER@SERVER_IP

비밀번호를 묻지 않고 접속되면 키 인증 성공.


4) SSH 설정 재시작이 필요한 경우

  • authorized_keys 수정 → 재시작 필요 없음
  • /etc/ssh/sshd_config 수정 → reload/restart 필요

설정 검사:

sshd -t

안전한 재적용:

systemctl reload sshd

5) 비밀번호 로그인 차단

키 접속이 정상 동작하는 것을 확인한 뒤에 진행한다.

nano /etc/ssh/sshd_config

아래 항목을 설정:

PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no
PubkeyAuthentication yes
PermitRootLogin prohibit-password

의미:

  • 비밀번호 로그인 ❌
  • SSH 키 로그인 ⭕
  • root 로그인은 키로만 허용

설정 검증 후 반영:

sshd -t
systemctl reload sshd

6) 비밀번호 차단 동작 확인

비밀번호 로그인 시도 (실패해야 정상)

ssh -p 27577 -o PreferredAuthentications=password USER@SERVER_IP

키 로그인 확인

ssh -p 27577 USER@SERVER_IP

7) ForkLift / Cursor 영향

  • ForkLift / Cursor는 SSH 키 인증을 지원
  • 비밀번호 차단 후에도 정상 동작
  • 인증 방식만 비밀번호 → SSH 키로 변경

ForkLift 설정 시:

  • Protocol: SFTP
  • Port: 27577
  • Authentication: Public Key
  • Private Key: ~/.ssh/id_ed25519

8) 최종 상태 요약

SSH 접속은 키 인증으로만 가능하며,
비밀번호 로그인은 완전히 차단되었다.
Cursor, ForkLift, CLI 모두 동일한 키를 사용한다.
  • 보안 강화 ⭕
  • 사용성 유지 ⭕
  • 운영 리스크 감소 ⭕