SSH는 리눅스 사용자에게 네트워크를 통해 어떤 컴퓨터든 콘솔 접속을 용이하게 해주어 매우 유용합니다. 리눅스에서 SSH 사용 경험을 향상시키는 방법 중 하나는 루트 SSH 로그인을 활성화하는 것입니다. 이 설정을 통해 시스템 레벨의 작업을 수행하기 위해 루트 계정으로 직접 빠르게 로그인할 수 있습니다.
보안상의 이유로 SSH는 기본적으로 루트 로그인을 허용하지 않습니다. 하지만 많은 시스템을 관리하고 스크립트 실행, 자동화 등의 작업을 위해 지속적인 루트 액세스가 필요한 경우 이 기능을 활성화해야 합니다.
다만, SSH를 통한 루트 로그인을 활성화하는 것은 위험할 수 있다는 점을 명심해야 합니다. SSH 사용 경험이 부족하다면 이 작업을 신중하게 고려해야 합니다!
루트 비밀번호 설정
SSH를 통해 루트 로그인을 활성화하는 첫 번째 단계는 루트 계정을 활성화하는 것입니다. 많은 리눅스 배포판(Ubuntu 및 유사 배포판)은 보안을 위해 루트 계정을 기본적으로 비활성화합니다. 대신 사용자는 sudo 권한을 통해 모든 작업을 수행합니다. 대부분의 경우 루트 계정을 직접 사용하지 않고 sudo를 사용하는 것이 안전하지만, SSH를 통해 루트로 로그인하려면 루트 계정의 비밀번호가 필요합니다.
먼저 원격에서 SSH를 통해 루트 로그인을 활성화하려는 서버나 PC에 접속합니다.
ssh [email protected]
리눅스 배포판을 설정할 때 루트 사용자를 별도로 구성하지 않았다면 다음 단계에 따라 루트 계정을 설정해야 합니다. sudo 권한이 있는 사용자가 없으면 이 과정이 작동하지 않음을 유념해야 합니다. 터미널을 열고 다음 명령을 실행합니다.
sudo -s
sudo -s 명령은 su로 로그인하는 것과 마찬가지로 사용자에게 루트 셸을 제공합니다. 여기에서 루트 사용자에게 새 비밀번호를 설정할 수 있습니다.
passwd
passwd 명령을 실행하면 새로운 UNIX 비밀번호를 입력하라는 메시지가 나타납니다. PC의 루트 계정에 대한 새로운 비밀번호를 설정합니다. 보안을 위해 일반 사용자 계정과 동일한 비밀번호를 사용하지 않는 것이 좋습니다. 안전하면서도 기억하기 쉬운 비밀번호를 생성해야 합니다.
비밀번호 설정이 완료되면 exit 명령을 사용하여 루트 셸에서 로그아웃합니다.
exit
마지막으로 su 명령을 통해 로그인하여 새 루트 비밀번호가 정상적으로 작동하는지 확인합니다.
su -
루트 로그인 활성화
이제 루트 사용자로 로그인할 수 있으므로 SSHD 설정 파일에서 루트 로그인 설정을 활성화할 차례입니다. 다시 터미널을 열고 일반 사용자로 SSH에 접속합니다.
참고: 원격으로 SSH 서버를 수정하고 싶지 않다면, 로컬 환경에서 직접 수정할 수도 있습니다.
ssh [email protected]
SSH를 통해 서버에 접속한 후, su 명령으로 일반 연결을 루트 권한으로 승격시킵니다.
su –
다음으로 Nano 텍스트 편집기를 사용하여 SSH 서버 구성 파일을 엽니다.
nano /etc/ssh/sshd_config
구성 파일을 탐색하여 “PermitRootLogin” 항목을 찾습니다. 해당 항목은 기본적으로 “no”로 설정되어 있을 수 있습니다. 이 경우 “no”를 “yes”로 변경합니다.
SSH의 다른 설정에서는 “PermitRootLogin”이 “prohibit-password”로 설정되어 있을 수도 있습니다. 이 경우 “prohibit-password”를 삭제하고 “yes”로 변경합니다.
SSH 서버의 루트 설정을 변경한 후에는 구성 변경 사항을 저장해야 합니다. Ctrl + O 키를 눌러 변경 사항을 저장하고, Ctrl + X 키를 눌러 Nano 편집기를 종료합니다.
루트 설정 적용
이제 설정에서 루트 로그인이 활성화되었으므로 변경 사항을 적용하기 위해 SSH 데몬을 재시작해야 합니다. 대부분의 리눅스 시스템에서는 systemd를 사용하여 쉽게 재시작할 수 있습니다. 터미널에서 su 또는 sudo 명령을 사용하여 루트 권한을 획득합니다.
su -
또는
sudo -s
루트 권한을 얻은 후 systemd를 사용하여 SSH 데몬을 재시작합니다.
systemctl restart sshd
systemd를 사용하지 않는 시스템에서는 다음 명령을 시도해 볼 수 있습니다.
service ssh restart
위 두 명령 모두 SSH 데몬을 재시작하는 데 실패하면, 서버를 재부팅하는 것이 안전한 방법입니다.
reboot
재부팅 후 변경 사항이 적용됩니다. 루트로 로그인하려면 터미널을 열고 다음 명령을 실행합니다.
ssh [email protected]
루트 로그인 비활성화
SSH를 통한 루트 로그인을 더 이상 사용하지 않으려면 이 기능을 끄는 것도 켜는 것만큼 쉽습니다. 첫 번째 방법은 루트 계정을 잠그는 것입니다. 이렇게 하면 설정값을 즉시 켜고 끌 수 있습니다. 루트 계정을 잠그려면 sudo를 통해 수퍼유저 셸을 획득하고 다음 명령을 실행합니다.
passwd --lock root
이 명령은 루트 계정을 잠가서 비활성화합니다. SSH를 통해 루트 로그인을 다시 활성화하려면 문서 상단의 지침을 따릅니다.
또는 루트 로그인을 완전히 비활성화하려면 터미널을 열고(루트 사용자) 다음 명령을 실행합니다.
su -
또는
sudo -s
SSH 구성 파일에서 “PermitRootLogin” 항목을 찾아 “yes”를 “no”로 변경합니다.
nano /etc/ssh/sshd_config
Ctrl + O 키를 눌러 저장하고, Ctrl + X 키를 눌러 종료한 다음, 시스템을 재부팅합니다. 재부팅 후에는 루트 로그인이 작동하지 않습니다.