SSH 접속 보안, 키 인증 전환과 비밀번호 로그인 끄기 5단계
SSH 접속 보안은 키 인증으로 바꾸고 비밀번호 로그인과 root 직접 로그인을 끄는 것이 핵심입니다. 이 글에서는 서버 관리 접속을 안전하게 바꾸는 5단계 순서와 개인 키 보관 방법, 작업 중 접속이 끊기지 않게 하는 주의점을 정리했습니다.
SSH 접속 보안이 중요한 이유
SSH는 관리자가 원격으로 서버에 들어가 명령을 실행하는 통로입니다. 이 통로로 들어오면 홈페이지 파일, 데이터베이스, 설정을 모두 바꿀 수 있으므로 서버에서 가장 강한 권한이 걸린 출입구라고 할 수 있습니다. 인터넷에 열린 SSH 포트에는 아이디와 비밀번호를 자동으로 바꿔 가며 넣어 보는 접속 시도가 끊임없이 들어옵니다.
비밀번호 로그인은 비밀번호가 짧거나 다른 곳에서 쓰던 것이면 이런 시도에 뚫릴 수 있습니다. 키 인증은 관리자 PC에 있는 개인 키 파일이 있어야만 접속되므로, 비밀번호를 맞히는 방식의 공격이 통하지 않습니다. 키 인증으로 바꾼 뒤 비밀번호 로그인을 끄는 것까지 해야 효과가 완성됩니다.
비밀번호 인증과 키 인증 비교
아래 표는 SSH에서 쓰는 두 가지 로그인 방식을 안전성과 관리 부담 기준으로 비교한 것입니다.
| 항목 | 비밀번호 인증 | 키 인증 |
|---|---|---|
| 접속에 필요한 것 | 아이디와 비밀번호 | 개인 키 파일(선택적으로 키 암호) |
| 추측 공격 | 약한 비밀번호면 뚫릴 수 있음 | 비밀번호를 맞히는 방식이 통하지 않음 |
| 유출 경로 | 메모, 메신저 공유, 재사용 | 개인 키 파일 복사·분실 |
| 사람별 관리 | 계정 공유가 흔함 | 사람마다 키를 따로 등록하고 지울 수 있음 |
표의 마지막 줄처럼 키 인증은 사람마다 따로 등록하므로, 담당자가 바뀌면 그 사람의 키만 지우면 됩니다. 계정 하나를 여러 사람이 비밀번호로 함께 쓰는 방식보다 관리가 깔끔합니다.
SSH 접속 보안 설정 5단계
아래 순서는 비밀번호로 접속하던 서버를 키 인증으로 바꾸는 기본 흐름입니다. 핵심은 새 방식으로 접속되는 것을 확인한 뒤에 옛 방식을 끄는 것입니다.
- 관리자별 키 만들기: 관리자마다 자기 PC에서 키 쌍을 만들고, 개인 키에는 키 암호를 걸어 둡니다.
- 공개 키 등록: 각 관리자의 공개 키를 서버의 해당 사용자 계정에 등록합니다. 개인 키는 서버나 메신저로 보내지 않습니다.
- 키 접속 확인: 기존 접속 창은 닫지 않은 채, 새 창에서 키로 접속되는지 확인합니다.
- 비밀번호 로그인과 root 로그인 끄기: SSH 서버 설정에서 비밀번호 인증을 끄고 root 계정의 직접 로그인을 막은 뒤 설정을 다시 읽게 합니다.
- 다시 확인하고 기록: 새 창에서 키 접속이 여전히 되는지, 비밀번호 접속이 거부되는지 확인하고 등록된 키 목록을 기록합니다.
그림의 세 번째와 다섯 번째 단계에서 기존 접속 창을 열어 둔 채 새 창으로 확인하는 것이 중요합니다. 설정이 틀렸더라도 열려 있는 창에서 바로 되돌릴 수 있기 때문입니다. SSH 서버 설정 항목의 정확한 뜻과 기본값은 OpenSSH의 sshd_config 공식 설명서에서 확인할 수 있습니다. 설명서에 따르면 비밀번호 인증(PasswordAuthentication)은 기본값이 허용이므로, 키 인증을 켰다고 비밀번호 로그인이 저절로 꺼지지 않습니다.
접속 허용 범위를 더 좁히는 방법
키 인증에 더해 SSH로 접속할 수 있는 사용자를 지정하거나, 방화벽에서 관리자 IP만 SSH 포트에 접속하게 하면 위험이 더 줄어듭니다. 방화벽에서 열어 둘 포트를 정하는 방법은 서버 방화벽 글에, 파일 전송을 SSH 기반으로 바꾸는 방법은 SFTP 사용, FTP 대신 써야 하는 이유와 전환 5단계에 정리했습니다.
개인 키 보관과 SSH 접속 점검 체크리스트
키 인증의 안전성은 개인 키를 얼마나 잘 지키느냐에 달려 있습니다. 설정을 마친 뒤에도 아래 항목을 정기적으로 확인합니다.
- 개인 키는 관리자 본인 PC에만 두고, 이메일이나 메신저로 주고받지 않는다.
- 개인 키에 키 암호를 걸어 PC를 잃어버려도 바로 쓰이지 않게 한다.
- 서버에 등록된 공개 키 목록에 퇴사자나 계약이 끝난 업체의 키가 없는지 확인한다.
- 비밀번호 로그인과 root 직접 로그인이 꺼져 있는지 설정을 다시 확인한다.
- 접속 기록에서 실패한 로그인 시도가 갑자기 늘지 않았는지 살펴본다.
체크리스트의 세 번째 항목은 담당자가 바뀔 때마다 확인해야 합니다. 사람이 떠날 때 권한을 회수하는 순서는 퇴사자 계정 정리, 홈페이지·서버 권한 회수 7단계 절차를 참고하세요.
디코랩이 돕는 방식
디코랩은 운영 중인 사이트의 유지보수와 개선을 맡고 있습니다. 서버 접속 방식 점검이나 설정 변경이 필요하다면 유지보수 접수 게시판에 비밀글로 요청을 남길 수 있고, 외부에서 보이는 위험 점검은 웹사이트 취약점 점검 서비스에서 확인할 수 있습니다.
자주 묻는 질문
SSH 포트 번호를 바꾸면 안전해지나요?
포트 번호를 바꾸면 자동 접속 시도가 줄어들 수는 있지만, 포트는 찾아낼 수 있으므로 그것만으로 보호되지는 않습니다. 키 인증과 비밀번호 로그인 끄기를 먼저 하고, 포트 변경은 보조 수단으로 생각하세요.
개인 키를 잃어버리면 서버에 못 들어가나요?
그 키로는 접속할 수 없으므로, 다른 관리자의 키나 호스팅 업체의 웹 콘솔로 들어가 새 공개 키를 등록하고 잃어버린 키는 지웁니다. 그래서 비상 접속 방법을 미리 확인해 두는 것이 좋습니다.
외주 업체에 SSH 접속을 줘야 할 때는요?
업체 담당자의 공개 키를 따로 등록하고, 작업이 끝나면 그 키를 지웁니다. 관리자 비밀번호나 개인 키를 넘겨주는 방식은 피합니다.
서버 관리 접속을 키 인증으로 바꾸는 작업이 필요하다면 디코랩 프로젝트 문의로 서버 환경을 알려 주세요.
댓글0
댓글 작성 권한이 없습니다