리눅스 루트 계정 SSH 접속 안 될 때 해결 방법

PuTTY 같은 원격 연결 툴을 이용해서 리눅스에 SSH 연결 시 루트(root) 계정으로 직접 접속을 시도하면 로그인이 되지 않을 가능성이 높습니다. 기본 설정이 루트 계정 직접 로그인 비허용이기 때문입니다. 루트 계정 접속이 가능하도록 설정 변경이 가능합니다. 그러나 추천드리는 방법은 아닙니다.

SSH 루트 계정 접속 허용 방법

1./etc/ssh/sshd_config 경로에서 vi 명령어로 sshd_config를 편집합니다.

 

2. / 명령어로 PermitRootLogin 설정이 있는 부분을 찾습니다.

PermitRootLogin는 주석 처리되어 있거나 prohibit-password으로 설정되어 있을 겁니다. 주석 처리되면 기본 값인 no가 적용됩니다. 

PermitRootLogin yes // 직접 root 접속 가능
PermitRootLogin no // 직접 root 접속 불가능
PermitRootLogin prohibit-password // 비밀번호 로그인은 안 되고 key파일 로그인만 허용

3. PermitRootLogin 설정을 수정합니다.

루트 계정 접속을 허용하려면 주석을 해제하고 yes로 설정해야 합니다.

PermitRootLogin yes

4. sshd를 재시작합니다.

systemctl restart sshd

SSH 루트 계정 접속 허용 안 해도 되는 이유

설정 방법을 설명드리긴 했지만, 사실 보안상 변경하지 않는 게 좋습니다. root 권한을 가진 계정이 직접 접속하는 게 시스템에 리스크가 되기 때문에 기본 설정도 그렇게 되어 있는 것일 테니까요.

 

대신 일반 계정으로 ssh 접속 후 루트 계정 로그인이 필요하면 su - 명령어로 root 계정으로 전환할 수 있습니다. 또는 일반 계정으로도 sudo 명령어를 통해 루트 계정으로 작업을 수행하는 방법도 있습니다.

SSH 포트 번호 변경 방법

sshd_config에서 ssh의 접속 포트를 변경할 수도 있습니다.

 

1. / 명령어로 port를 찾습니다.

주석처리가 되어 있으면 기본 값인 22번으로 적용됩니다.

#port 22

2. 주석처리를 해제하고 원하는 포트로 변경합니다.

 

3. sshd를 재시작합니다.

 

4. 변경한 포트의 방화벽을 열어줍니다.

반응형

댓글

Designed by JB FACTORY