리눅스를 설치하고 가장 먼저 해야 하는 일 중 하나가 원격으로 접속 했을 때, root계정으로 접속을 못하도록 하는 것입니다. 왜냐하면 기본적으로 외부에서 root계정으로 접속을 허용하고 있기 때문입니다. root계정이 만약 노출되 해커들에게 넘어간다면 해당 서버는 완전히 그들의 놀이터가 되기 때문입니다. 그렇기 때문에 오로지 로컬 컴퓨터에서만 접속이 가능하도록 해야 보안을 위해서 좋습니다.
자 그럼 Centos 7이 설치된 서버에 외부에서 터미널 등으로 접속 시 root 계정으로 로그인을 할 수 없도록 하는 법을 소개 하도록 하겠습니다.
[root@localhost ~]# vi /etc/ssh/sshd_config
...
#PermitRootLogin yes
...
...
위와 같이 편집화면을 열어#PermitRootLogin yes부분을 찾아서 아래와 같이 주석을 해제하고 yes를 no로 변경해 줍니다.
...
PermitRootLogin no
...
...
위와 같이 수정 한 후, 저장을 하고 (:wq!) 편집화면을 빠져 나옵니다. 그런 후에 sshd를 재시작 해줍니다.
[root@localhost ~]# systemctl restart sshd.service
재시작이 된 후에는 터미널을 열어 재접속 하여 root로 접속이 되는지 여부를 확인 하면 됩니다. 접속이 되지 않아야 정상적으로 설정이 된 것입니다. 일반 계정으로 root 권한으로 이용 하기 위해서 su 명령어를 사용하면 됩니다.