ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [AWS] EC2 root 계정으로 우분투 로그인 하기
    Knowledge 2019. 10. 22. 12:47

     

     

    아마도 우분투가 가장 많이 쓰이는 리눅스 배포판일 것이다. 그런데 언제부터인가 이후 우분투 버전은 인스톨 후에 ssh를 통해 root 계정으로 로그인하는 부분을 디펄트로 막아놓았다. 실제로 운영하는 서버라면 root 로그인을 하지 않는 편이 안전하겠지만, 단순 테스트 용도의 서버라면 참 갑갑한 일이 아닐 수 없다.

    최근 EC2로 새로운 인스턴스를 만들었다가 root로그인이 되지 않는 상황을 다시 마주쳤다. 언제나 그렇듯이 예전에 어떻게 했는지 까맣게 잊어버렸기에, ssh를 통한 우분투 접속 방법을 다시 한 번 정리해 본다.

    Step1: root 계정 활성화

     

    먼저 초기 설정대로 ubuntu 계정을 통해 인스턴스에 로그인을 한다.

    ssh -i pem_key_path ubuntu@xxx.xxx.xxx.xxx 
    ubuntu@ip-xxx-xxx-xxx-xxx:~$ 


    다음으로 root 계정의 암호를 설정해 준다.

    ubuntu@ip-xxx-xxx-xxx-xxx:~$ su passwd root 


    사용하고자 하는 root 계정의 암호를 2회 반복해서 넣어주면 root 계정을 사용할 수 있게 된다.

    이제 su 명령을 통해 root 계정으로 진입한다.

    ubuntu@ip-xxx-xxx-xxx-xxx:~$ su 
    root@ip-xxx-xxx-xxx-xxx:~$ 


    Step2: ssh 설정

     

    다음 파일을 열어 설정을 변경한다.

    root@ip-xxx-xxx-xxx-xxx:~$ vi /etc/ssh/sshd_config 


    변경해야 할 설정은 PermitRootLogin이다. 이 값을 yes로 변경해주면 ssh를 통해 root로 로그인이 가능하다. 기존의 값을 주석처리하고 yes 값을 넣는 변경이 완료된 모양은 다음과 같다.

    # Authentication: 
    LoginGraceTime 120 
    #PermitRootLogin prohibit-password 
    PermitRootLogin yes 
    StrictModes yes 


    Step3: root 로그인 허용 (ec2)

     

    아마존 ec2의 경우 2번 설정까지만 하고 root 로그인을 시도하면 다음과 같은 메시지가 나오면서 접속이 되지 않는다.

    Please login as the user "ubuntu" rather than the user "root" 


    이것은 root 계정의 설정 때문인데, 다음 파일을 열어서 해당 부분을 제거해주면 된다.

    root@ip-xxx-xxx-xxx-xxx:~$ vi /root/.ssh/authorized_keys 


    다음 밑줄 친 부분을 삭제해준다.

     


    수정이 완료된 파일은 다음과 같은 모양이 된다.

     


    만약 다시 원상복구를 하고 싶을 때는 다음 내용을 다시 앞에 붙여주면 된다.

    no-port-forwarding,no-agent-forwarding,no-X11-forwarding,command="echo 'Please login as the user \"ubuntu\" rather than the user \"root\".';echo;sleep 10" 

     

    Step4: ssh 재시작

     

    이제 모든 설정이 완료되었으므로 root 계정으로 접속을 시도해 본다.

    ssh -i pem_key_path root@xxx.xxx.xxx.xxx


    다음과 같이 성공적으로 root 계정으로 로그인이 되는 것을 볼 수 있다.

     

     

     

    Fin.

    반응형

    댓글

Calvin's Memo