원격으로 서버에 접속할 때 가장 많이 쓰는 도구, 바로 SSH(Secure Shell)죠. 그런데 혹시 이런 생각 해보신 적 있나요? "내 서버, 지금 이 순간에도 누군가 두드려보고 있는 건 아닐까?" 😟 사실 인터넷에 노출된 서버는 매일같이 자동 공격 봇의 표적이 됩니다. 오늘은 어렵지 않게, 친구한테 설명하듯 SSH를 안전하게 사용하는 방법을 하나씩 알려드릴게요. 다 읽고 나면 여러분 서버가 훨씬 든든해질 거예요. 👍

▍ SSH가 뭔가요? 왜 보안이 중요할까요? 🤔
SSH는 멀리 떨어진 컴퓨터에 안전하게 접속해서 명령을 내리고 파일을 주고받게 해주는 통신 규약이에요. 예전에 쓰던 텔넷(Telnet) 같은 방식은 비밀번호까지 암호화 없이 그대로 전송돼서 정말 위험했답니다.
SSH는 모든 통신을 암호화해서 도청이나 중간자 공격(Man-in-the-Middle)으로부터 보호해줘요. 하지만 여기서 중요한 사실 하나! 💡 SSH 자체가 안전하다고 해서 설정까지 안전한 건 아니에요. 기본 설정 그대로 두면 오히려 공격의 통로가 될 수 있거든요.

▍ 1단계: 비밀번호 대신 'SSH 키'를 쓰세요 🗝️
가장 먼저, 그리고 가장 강력한 보안 방법입니다. 비밀번호는 아무리 복잡해도 무차별 대입 공격(브루트포스)으로 뚫릴 수 있어요. 반면 SSH 키는 공개키와 개인키 한 쌍으로 인증하기 때문에 사실상 추측이 불가능하답니다.
2025년 기준으로 전문가들이 가장 많이 추천하는 키 방식은 ed25519예요. 기존 RSA보다 키 길이는 훨씬 짧은데도 보안 수준은 비슷하거나 더 뛰어나고, 생성과 인증 속도도 빠르거든요. 아래 명령어 하나면 만들 수 있어요.
ssh-keygen -t ed25519 — 내 컴퓨터(서버가 아니라!)에서 키를 생성
개인키에는 꼭 패스프레이즈(암호)를 걸어주세요. 키 파일이 유출돼도 한 겹 더 보호됩니다.
공개키만 서버의 ~/.ssh/authorized_keys에 등록하면 끝!

▍ 2단계: 비밀번호 로그인은 아예 꺼버리세요 🚫
키 인증을 설정했다면, 이제 비밀번호 로그인은 과감히 막아도 좋아요. 서버 설정 파일 /etc/ssh/sshd_config에서 PasswordAuthentication no로 바꿔주면 됩니다. 이렇게 하면 비밀번호를 노리는 무차별 공격이 통째로 무력화돼요. 😊
단, 주의할 점! ⚠️ 반드시 키 인증이 제대로 되는지 먼저 확인한 뒤에 끄세요. 안 그러면 여러분도 서버에서 잠겨버릴 수 있거든요.

▍ 3단계: root 직접 로그인 막기 👮
root는 서버에서 가장 강력한 권한을 가진 계정이에요. 그래서 공격자들이 제일 먼저 노리는 표적이죠. PermitRootLogin no 설정으로 root의 직접 접속을 막아두세요.
대신 일반 계정으로 로그인한 다음, 필요할 때 sudo 명령으로 관리자 권한을 쓰는 게 안전한 방식이에요. 권한을 한 번 더 거치게 만드는 거죠.

▍ 4단계: 포트 변경, 효과 있을까요? 🤷
SSH는 기본적으로 22번 포트를 씁니다. 그래서 자동 공격 봇들이 죄다 22번을 두드려요. 포트를 2222번 같은 다른 번호로 바꾸면 이런 자동 공격의 '소음'을 크게 줄일 수 있답니다.
다만 이 부분은 의견이 갈려요. 한쪽에서는 "공격 시도가 줄어드니 유용하다"고 보고, 다른 쪽에서는 "포트 변경은 진짜 보안이 아니라 그냥 눈속임(보안 무명성)일 뿐"이라고 말해요. 정리하면, 포트 변경은 보조 수단으로는 좋지만, 그것만 믿으면 안 된다는 거죠.

▍ 5단계: 한 겹 더, 추가 보안 장치들 🛡️
위 기본기를 갖췄다면, 아래 방법들로 더 단단하게 만들 수 있어요.
2단계 인증(2FA/MFA): Google Authenticator나 Duo 같은 도구로 OTP를 추가하면 키가 유출돼도 한 번 더 막아줍니다.
fail2ban: 로그인 실패가 반복되는 IP를 자동으로 차단해주는 똑똑한 도구예요.
방화벽으로 IP 제한: ufw나 iptables로 신뢰하는 IP만 접속하게 하면 공격 표면이 확 줄어요.
접속 허용 사용자 지정: AllowUsers 설정으로 특정 사용자만 SSH를 쓰게 할 수 있어요.

▍ 6단계: 꾸준한 관리가 진짜 보안입니다 🔄
보안은 한 번 설정하고 끝나는 게 아니에요. OpenSSH는 늘 최신 버전으로 업데이트하세요. 보안 패치는 알려진 취약점을 막아주니까요.
또 SSH 키도 영원히 쓰지 말고, 정책에 따라 주기적으로 교체(키 로테이션)해주는 게 좋아요. 안 쓰는 키는 authorized_keys에서 바로 지우고, 로그(/var/log/auth.log)도 가끔 들여다보며 수상한 접속이 없는지 확인해보세요. 🔍

▍ 마무리: 오늘부터 하나씩 적용해보세요 ✅
정리해볼게요. SSH를 안전하게 사용하는 핵심은 ① ed25519 키 인증 쓰기, ② 비밀번호 로그인 끄기, ③ root 직접 접속 막기, ④ 포트·방화벽으로 노출 줄이기, ⑤ 2FA·fail2ban으로 한 겹 더, ⑥ 꾸준한 업데이트와 키 관리예요. 어렵게 느껴진다면 오늘은 딱 'SSH 키 만들기' 하나만 해보세요. 작은 한 걸음이 여러분 서버를 훨씬 안전하게 만들어줄 거예요. 😊
혹시 지금 운영 중인 서버가 있다면, 이번 주말에 sshd_config 파일을 한번 열어보는 건 어떨까요? 여러분의 소중한 데이터, 지금부터 지켜봐요! 💪

'연예이슈' 카테고리의 다른 글
| 시스템 모니터링 도구 Grafana와 Prometheus, 어디서부터 시작해야 할까요? (0) | 2026.07.09 |
|---|---|
| VPN은 왜 필요할까? 개념부터 직접 구축까지 쉽게 풀어드립니다 (0) | 2026.07.09 |
| 깃허브(GitHub)와 깃(Git)의 차이점, 5분이면 완벽하게 이해해요! (0) | 2026.07.08 |
| Git을 사용해야 하는 이유와 기본 사용법, 초보자도 30분이면 OK! (0) | 2026.07.08 |
| CD(지속적 배포)란? 자동화 배포 기초부터 쉽게 정리해드려요 (0) | 2026.07.08 |