SSH(sshd_config) root 계정 접속을 제한하는 방법
SSH를 통한 root 계정 접속을 제한하고 보안 설정을 강화하기 위해 sshd_config 파일을 수정해야 합니다.
주의: SSH 설정을 수정하기 전에 반드시 백업을 생성하거나 신중하게 작업하시기 바랍니다. 잘못된 설정으로 인해 SSH 서버 접속에 문제가 발생할 수 있습니다.
1. sshd_config 파일 열기
텍스트 편집기를 사용하여 sshd_config 파일을 엽니다.
sudo vim /etc/ssh/sshd_config
2. root 로그인 제한
sshd_config 파일에서 PermitRootLogin 항목을 찾습니다.
기본적으로 값은 yes로 설정되어 있습니다.
root 계정으로 직접 SSH 접속을 허용하지 않으려면 값을 no로 변경합니다.
PermitRootLogin no
PermitRootLogin yes : root 접속 허용
PermitRootLogin no : root 접속 제한
3. 비밀번호 인증 사용 비활성화
root 로그인을 막았다면, 비밀번호 인증도 비활성화하여 키 기반 인증만 허용하는 것이 좋습니다.
PasswordAuthentication 항목을 찾아 값을 no로 변경합니다.
PasswordAuthentication no
4. 공개 키 인증 활성화
공개 키 인증을 사용하려면 PubkeyAuthentication 항목이 yes로 설정되어 있는지 확인합니다.
PubkeyAuthentication yes
5. 다른 보안 설정
다른 보안 설정도 강화할 수 있습니다. 예를 들어, 암호화 알고리즘 설정, 세션 타임아웃, 포트 변경 등의 작업을 수행할 수 있습니다. 하지만 이러한 설정을 변경하기 전에 관련 문서나 보안 전문가의 권장 사항을 확인하는 것이 좋습니다.
6. 설정 저장 및 SSH 서비스 재시작
설정을 완료했다면 Shift + zz를 눌러 저장한 후, 편집기를 종료합니다. 변경 사항이 적용되려면 SSH 서비스를 재시작합니다.
이제 SSH를 통한 root 계정으로의 직접 접속이 차단되고, 공개 키 인증만을 통해 접속할 수 있게 되었습니다. 더 높은 보안 수준을 갖추기 위해 해당 서버에 대한 암호 복잡성 정책, 방화벽 설정 등을 추가로 검토하는 것이 좋습니다.
sed 명령어로 sshd_config 파일 편집
- sed 명령어로 PermitRootLogin 치환
sed -i 's/^#PermitRootLogin yes/PermitRootLogin no/g' /etc/ssh/sshd_config
- perl 명령어로 PermitRootLogin 치환
perl -pi -e 's/^#PermitRootLogin yes/PermitRootLogin no/g' /etc/ssh/sshd_config
- sshd 서비스 재기동
sudo systemctl restart sshd
'리눅스' 카테고리의 다른 글
Docker 컨테이너의 변경 내용을 이미지로 커밋, 저장, 로드, 태그 변경하는 방법 (0) | 2020.12.11 |
---|---|
Rocky Linux 9에서 Postfix 메일 서버를 설치하고 설정하는 방법 (1) | 2020.12.11 |
CentOS Yum Repository 서버를 구축하는 방법 (0) | 2020.12.10 |
CentOS 8에서 rsync 서비스를 활성화하는 방법 (0) | 2020.12.02 |
[리눅스] Jenkins 이용하여 Docker Image 만들기 (0) | 2020.11.27 |