키 기반 인증으로 만 SSH를 통한 루트 로그인 허용


49

의 특정 ssh 서버 구성에 대한 의구심이 있습니다 /etc/ssh/sshd_config. 다음 행동을 원합니다.

  1. 공개 키 인증은 루트로 인증 할 수있는 유일한 방법입니다 (비밀번호 인증 또는 기타 없음)
  2. 일반 사용자는 비밀번호와 공개 키 인증을 모두 사용할 수 있습니다

PasswordAuthentication no첫 번째 포인트를 설정 하면 두 번째 포인트는 만족되지 않습니다. PasswordAuthentication no루트에만 설정하는 방법이 있습니까?

답변:


78

PermitRootLogin지시문을 사용하여이 작업을 수행 할 수 있습니다 . 로부터 sshd_config맨 :

ssh (1)를 사용하여 root가 로그인 할 수 있는지 여부를 지정합니다. 인수는 "예", "암호없이", "강제 명령 만"또는 "아니오"여야합니다. 기본값은“예”입니다.

이 옵션을 "암호없이"로 설정하면 루트에 대한 비밀번호 인증이 비활성화됩니다.

다음은 원하는 것을 달성합니다.

PasswordAuthentication yes
PermitRootLogin without-password

1
나는 이것을 데비안에서 시도 service ssh restart하고 서버에서 확인한 다음 클라이언트에서 내 키없이 연결을 시도했지만 ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no root@host실제로 암호로 로그인 할 수 없지만 루트 사용자의 키로 로그인 할 수있었습니다.
bastian

예, 그러나 대신이 작업을 수행하면 비밀번호로 로그인 할 수 있습니다. ssh -o PreferredAuthentications=password root@host특히 안전한 imho
geoidesic

2
2019 년에는 "PermitRootLogin prohibit-password"이며, 암호가없는 오래된 암호는 더 이상 사용되지 않습니다.
vbraun

10

Match블록을 사용 하여 사용자 또는 그룹 인증 또는 연결 원본의 IP 주소 또는 호스트 이름별로 일부 옵션을 구성 할 수 있습니다 .

PasswordAuthentication yes
PermitRootLogin yes

Match User root
PasswordAuthentication no

3
나는 이것을하는 ssh 서버에서 나를 막을 수 있었다.
Richard Metzler

암호 프롬프트가 root로 나타나지 않게하려면이 방법이 가장 좋습니다.
Leo

이것은 또한 나를 막았다. 순서가 잘못되었을 수도 있습니다.
Gary

3

내 서버에 루트 권한을 부여하는 훨씬 더 제한적인 접근 방식이 있는데, 나 같은 편집증 환자에게는 흥미로울 수 있습니다. 자신이하는 일과 순서에주의하십시오. 그렇지 않으면 루트 액세스 권한이없는 시스템이 생길 수 있습니다.

  • sshd_confid 끝에sugroup 다음 줄 넣어 특정 그룹을 만듭니다. whos 구성원은 루트가되고이 그룹에 대한 키 인증 만 허용합니다 .

Match Group sugroup

PasswordAuthentication no

  • 에 명령 auth required pam_wheel.so group=sugroup을 넣 습니다 /etc/pam.d/su. 이미있을 수 있으며 주석 처리를 제거해야합니다. 이렇게하면 sugroup의 구성원이 아닌 모든 사용자에 대한 루트 액세스가 거부됩니다.
  • 강력한 루트 비밀번호를 선택하십시오. :)
  • 다음과 같은 경우에만 새 인증 방법이 작동하는지 확인하십시오.
  • PermitRootLogin noin 을 사용하여 ssh를 통한 직접 루트 로그인을 거부하십시오 /etc/ssh/sshd_config.

이 구성을 사용하려면 루트가 되려면 키 인증과 비밀번호를 사용해야합니다. 인증 방법에 관계없이 ssh를 통한 직접 루트 액세스를 선호하지 않기 때문에 서버를 이와 같이 구성했습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.