CentOS 8에서 SSH를 이용한 무암호 로그인 설정: 루트 및 비루트 사용자 차이

리눅스 시스템 보안을 위해 일반적으로 계정 비밀번호를 사용하여 로그인합니다. 하지만 작업 편의성을 위해 SSH 무암호 로그인을 설정하는 경우가 많습니다.

SSH 기본 개념

SSH(Secure Shell)는 네트워크를 통해 원격 시스템과 안전하게 통신할 수 있는 프로토콜입니다.

사전 준비

3대의 CentOS 8 시스템이 필요합니다.

호스트명 IP 주소
master 192.168.1.10
worker1 192.168.1.11
worker2 192.168.1.12

설정 단계

  1. 로컬 머신에서 공개/개인 키 쌍 생성
  2. 공개 키를 대상 머신에 업로드
  3. 무암호 로그인 테스트

1. 준비 작업

  • 각 시스템에서 /etc/hosts 파일을 수정하여 IP와 호스트명을 매핑합니다.
  • CentOS 8에서는 기본적으로 SSH 무암호 로그인이 활성화되어 있지 않을 수 있습니다. /etc/ssh/sshd_config 파일에서 다음 설정의 주석을 제거합니다.
AuthorizedKeysFile      .ssh/authorized_keys
PubkeyAuthentication yes

2. SSH 키 쌍 생성

각 서버에서 다음 명령어를 실행하여 키를 생성합니다. 비밀번호는 입력하지 않고 Enter 키를 누릅니다.

ssh-keygen -t rsa

이 명령은 /root/.ssh 디렉토리에 id_rsa(개인 키)와 id_rsa.pub(공개 키) 파일을 생성합니다.

3. 공개 키 통합 및 배포

master 서버에서 다음 명령어를 실행하여 모든 노드의 공개 키를 통합합니다.

# master 노드 자신의 공개 키 추가
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

# worker1 노드의 공개 키 추가
ssh root@worker1 "cat ~/.ssh/id_rsa.pub" >> ~/.ssh/authorized_keys

# worker2 노드의 공개 키 추가
ssh root@worker2 "cat ~/.ssh/id_rsa.pub" >> ~/.ssh/authorized_keys

통합된 authorized_keys 파일을 다른 노드에 복사합니다.

scp ~/.ssh/authorized_keys root@worker1:~/.ssh/
scp ~/.ssh/authorized_keys root@worker2:~/.ssh/
scp ~/.ssh/known_hosts root@worker1:~/.ssh/
scp ~/.ssh/known_hosts root@worker2:~/.ssh/

4. 무암호 로그인 테스트

이제 다음 명령어로 비밀번호 없이 로그인할 수 있어야 합니다.

ssh master
ssh worker1
ssh worker2

5. 비루트 사용자를 위한 무암호 로그인 설정

비루트 사용자에게도 동일한 절차를 적용할 수 있지만, .ssh 디렉토리와 authorized_keys 파일의 권한을 설정해야 합니다.

chmod 700 ~/.ssh/
chmod 600 ~/.ssh/authorized_keys

6. SSH 서비스 재시작

설정 변경 후 SSH 서비스를 재시작합니다.

systemctl restart sshd
service sshd restart

7. 무암호 로그인 종료

SSH 세션을 종료하려면 exit 명령을 사용합니다.

exit

태그: SSH CentOS 리눅스 보안 무암호 로그인 공개 키 인증

6월 7일 16:10에 게시됨