Contents
see List작성일 2025. 11. 30.
SSH 키 설정과 보안 강화
SSH 키 기반 인증을 설정하면 비밀번호 없이 안전하게 서버에 접속할 수 있습니다.
SSH 키 생성
# RSA 키 생성 (기본)
ssh-keygen -t rsa -b 4096 -C "[email protected]"
# Ed25519 키 생성 (권장, 더 안전하고 빠름)
ssh-keygen -t ed25519 -C "[email protected]"
# 파일 위치
# 개인키: ~/.ssh/id_ed25519
# 공개키: ~/.ssh/id_ed25519.pub공개키 서버에 등록
# 자동 복사
ssh-copy-id user@server
# 수동 복사
cat ~/.ssh/id_ed25519.pub | ssh user@server "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
# 또는 직접 서버에서
echo "공개키내용" >> ~/.ssh/authorized_keys
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keysSSH 설정 파일 (~/.ssh/config)
# 호스트별 설정
Host myserver
HostName 192.168.1.100
User admin
Port 22
IdentityFile ~/.ssh/id_ed25519
Host prod-*
User deploy
IdentityFile ~/.ssh/prod_key
# 사용
ssh myserver
ssh prod-web1서버 보안 강화 (/etc/ssh/sshd_config)
# 비밀번호 인증 비활성화
PasswordAuthentication no
ChallengeResponseAuthentication no
# root 로그인 비활성화
PermitRootLogin no
# 특정 사용자만 허용
AllowUsers admin deploy
# 포트 변경
Port 2222
# 유휴 연결 타임아웃
ClientAliveInterval 300
ClientAliveCountMax 2
# 설정 적용
sudo systemctl restart sshdSSH Agent (키 관리)
# Agent 시작
eval "SSH_AUTH_SOCK=/var/folders/ng/2w9kg7m53sgbl7b361ddtvf00000gn/T//ssh-ylv5zfqJXySb/agent.68983; export SSH_AUTH_SOCK;
SSH_AGENT_PID=68984; export SSH_AGENT_PID;
echo Agent pid 68984;"
# 키 추가
ssh-add ~/.ssh/id_ed25519
# 등록된 키 확인
ssh-add -l
# macOS Keychain 연동
ssh-add --apple-use-keychain ~/.ssh/id_ed25519포트 포워딩
# 로컬 포워딩 (로컬 8080 → 원격 80)
ssh -L 8080:localhost:80 user@server
# 원격 포워딩 (원격 8080 → 로컬 3000)
ssh -R 8080:localhost:3000 user@server
# 동적 포워딩 (SOCKS 프록시)
ssh -D 1080 user@server2단계 인증 (Google Authenticator)
# 설치
sudo apt install libpam-google-authenticator
google-authenticator
# /etc/pam.d/sshd 추가
auth required pam_google_authenticator.so
# /etc/ssh/sshd_config
ChallengeResponseAuthentication yes
AuthenticationMethods publickey,keyboard-interactive문제 해결
# 권한 문제
chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_*
chmod 644 ~/.ssh/*.pub
chmod 600 ~/.ssh/authorized_keys
# 디버그 모드
ssh -vvv user@serveros
| No | 작성일 | Title |
|---|---|---|
| 3372 | 2026. 08. 18. | Linux 서버에서 포트는 열려 있는데 접속이 안 될 때: 방화벽·바인딩·라우팅 점검 순서 |
| 3340 | 2026. 08. 09. | systemd로 Linux 서비스 장애 자동 복구하기: 재시작 정책과 운영 로그 설정 |
| 3308 | 2026. 08. 01. | Linux 디스크 용량 부족을 막는 운영 가이드: 로그·임시파일·inode를 함께 점검하는 방법 |
| 3277 | 2026. 07. 24. | Linux 서버 SSH 보안 설정 가이드: 비밀번호 로그인 줄이고 접근 통제하기 |
| 3247 | 2026. 07. 16. | systemd 서비스 장애 대응 가이드: 자동 재시작과 로그 확인을 운영 표준으로 만드는 방법 |
| 3194 | 2026. 07. 07. | Linux 서버 디스크 용량 장애 예방: 로그와 임시 파일을 자동으로 정리하기 |
| 3158 | 2026. 06. 29. | Linux 서버 SSH 보안 강화: 키 인증, 접속 제한, 감사 로그를 함께 점검하기 |
| 3102 | 2026. 06. 21. | 크론 장애를 줄이는 systemd 타이머 운영 가이드: 실패 로그, 재시도, 격리 실행까지 |
| 3013 | 2026. 06. 13. | Linux 서버 로그 폭주 방지: journald와 logrotate로 디스크 장애를 막는 운영 가이드 |
| 2957 | 2026. 06. 05. | SSH 서버 접속 보안 점검: 키 인증, 접속 제한, 차단 로그 운영 가이드 |