Rocky Linux / root 계정으로 ssh 접속 가능하게 설정하는 방법

Rocky Linux에서 SSH를 이용하면 원격 컴퓨터에서 서버에 접속하여 명령어를 실행하거나 시스템을 관리할 수 있습니다. 일반적으로 보안을 위해 일반 사용자 계정으로 SSH에 접속한 다음 sudo 또는 su 명령어를 이용하여 root 권한을 얻는 방법을 권장합니다.

하지만 테스트 서버, 내부 네트워크의 개발 서버, 가상 머신 등에서는 관리 편의를 위해 root 계정으로 SSH에 직접 접속해야 하는 경우가 있습니다.

이 글에서는 Rocky Linux에서 root 계정으로 SSH 접속을 허용하는 방법을 알아보겠습니다.

root 비밀번호 설정

root 계정으로 비밀번호 방식의 SSH 로그인을 사용하려면 root 계정에 사용할 수 있는 비밀번호가 설정되어 있어야 합니다. 먼저 root 계정에 비밀번호가 설정되어 있는지 확인합니다.

  • root 비밀번호를 새로 설정하거나 변경하려면 다음 명령어를 실행합니다.
$ passwd root
  • 새로운 비밀번호를 입력하고 다시 한 번 입력합니다.
New password:
Retype new password:
  • 비밀번호 설정이 완료되면 다음과 비슷한 메시지가 나타납니다.
passwd: all authentication tokens updated successfully.

SSH 설정 파일 수정

Rocky Linux의 SSH 서버 설정 파일은 /etc/ssh/sshd_config입니다.

  • vi 또는 vim을 이용하여 SSH 설정 파일을 엽니다.
# vi /etc/ssh/sshd_config
  • 파일에서 다음 설정을 찾습니다.
#PermitRootLogin prohibit-password
  • root 계정의 SSH 로그인을 허용하려면 다음과 같이 설정합니다.
PermitRootLogin yes

PermitRootLogin 옵션은 SSH를 통한 root 로그인을 제어합니다. 대표적인 값은 다음과 같습니다.

  • yes : root 계정 SSH 로그인 허용

  • no : root 계정 SSH 로그인 금지

  • prohibit-password : 비밀번호 인증을 통한 root 로그인을 금지하고 공개 키 방식 등의 로그인만 허용

PermitRootLogin yes로 설정했는데도 root 계정으로 접속할 수 없다면 SSH의 비밀번호 인증 설정도 확인해야 합니다.

  • /etc/ssh/sshd_config에서 다음 항목을 확인합니다.
PasswordAuthentication yes
  • 만약 다음과 같이 되어 있다면 no를 yes로 변경합니다.
PasswordAuthentication no

SSH 서비스 재시작

  • 변경한 설정을 적용하려면 sshd 서비스를 재시작합니다.
# systemctl restart sshd
  • 서비스가 정상적으로 실행되고 있는지 확인합니다.
# systemctl status sshd
  • 다음 명령어로도 간단하게 확인할 수 있습니다.
# systemctl is-active sshd