서버에서 루트로 원격 SSH 로그인을 비활성화하려면 어떻게합니까?


54

보안상의 이유로 회사에서는 누구나 누군가가 SSH를 통해 원격으로 Ubuntu 서버에 루트로 로그인 할 수 없도록하고 싶습니다. 우리는 여전히 루트 계정이 존재하기를 원하지만 원격으로 로그인하기를 원하지 않습니다. 어떻게하면 되나요?

시간 내 주셔서 대단히 감사합니다.

답변:


85

SSH를 통해 로그인한다고 가정합니까? 다음 줄을 넣으십시오 /etc/ssh/sshd_config.

PermitRootLogin no

특정 사용자의 로그인을 거부하려면 구성 파일에 다음을 입력하십시오.

DenyUsers root

블랙리스트 접근 방식이 필요합니다. 화이트 리스팅이 일반적으로 바람직합니다. 회사에서 robadmin사용자가 서버에 로그인 하도록 허용해야하는 경우 다음 구성 지시문을 사용하십시오.

AllowUsers rob admin

구성 파일을 변경 한 후 다음 명령을 사용하여 ssh 서비스를 다시 시작하십시오.

sudo service ssh restart

매뉴얼 페이지 도 참조 하십시오 .


14
sudo service ssh restart적용하기
맥심 Yefremov

sshd_config 파일이 보이지 않습니다. / etc / ssh / ssh_config 파일이 있습니다.
Chinmaya B

@ChinmayaB OpenSSH 서버를 설치하지 않았을 수 있습니다. 시도sudo apt-get install openssh-server
Lekensteyn

14

파일을 편집 /etc/ssh/sshd_config을 찾습니다

PermitRootLogin

로 설정하십시오 no.


사용자를 추가하지 않고이 작업을 수행 AllowUsers <username>하면 아무도 SSH를 허용하지 않습니까?
JGlass

1
@JGlass이 답변을 추가 옵션이있는 위의 답변과 혼동 할 수 있습니다.이 특정 줄은 SSH를 통해 로그인하는 것을 차단합니다. 시스템에 다른 사용자가 있으면 다른 모든 것이 동일하더라도 로그인하지 않으면 SSH를 통해 로그인 할 수 DenyUsers있습니다.
armadadrive

@armadadrive-아아, 수정 및 설명 주셔서 감사합니다!
JGlass

5

기본 구성은 루트 계정을 잠그는 것이므로 원격으로 루트로 로그인 할 수 없습니다. RSA 키를 사용하여 원격으로 루트로 로그인 할 수 없도록하려는 경우를 제외하고는 다른 작업을 수행 할 필요가 없습니다. 물론 그렇게하고 싶지 않다면 루트 키를 설정하지 마십시오.


1
내 Linode Ubuntu 14.04 시스템의 기본값이 아닙니다. PermitRootLogin로 설정 yes하고 전혀 없었다 AllowUsers또는 DenyUsers설정 라인. 내가 빠진 것이 아니라면 기본적으로 잠겨 있다고 가정하는 것이 안전하지 않다고 생각합니다
andrewtweber

@andrewtweber, ssh config를 통한 루트 로그인은 금지되지 않지만 루트 암호를 입력 할 수없는 잘못된 값으로 설정하여 시스템 전체에 로그인 할 수 있습니다. 따라서 내가 말했듯이 암호가 아닌 RSA 키를 사용하여 루트로 ssh를 입력 할 수 있습니다.
psusi

고마워요, 당신의 대답에 그 설명을 추가 할 수 있습니까? 그러면 제가 downvote를 제거 할 수있을 것입니다
andrewtweber

@andrewtweber, 그것은 이미 내 대답에 있습니다 ..
psusi

루트 계정이 어떻게 잠겨 있는지에 대한 귀하의 설명은 귀하의 답변에 없습니다. 어쨌든 난 당신의 답변이 편집되지 않는 한
공감대를
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.