sshd_config 파일에서 '비밀번호 없음'은 무엇을 의미합니까?


118

방금 서버에 Ubuntu 14.04를 설치했으며 sshd_config파일 에서이 파일을 발견했을 때 모든 구성 파일을 설정했습니다 .

# Authentication:
LoginGraceTime 120
PermitRootLogin without-password
StrictModes yes

이것은 나를 매우 걱정하게 만들었습니다. 누군가 비밀번호없이 내 서버에 루트로 로그인 할 수 있다고 생각했습니다.

다음을 통해 루트로 서버에 연결을 시도했습니다.

johns-mbp:~ john$ ssh root@192.168.1.48
The authenticity of host '192.168.1.48 (192.168.1.48)' can't be established.
RSA key fingerprint is 40:7e:28:f1:a8:36:28:da:eb:6f:d2:d0:3f:4b:4b:fe.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.48' (RSA) to the list of known hosts.
root@192.168.1.48's password:  

빈 암호를 입력했는데 입력하지 않아 안심이되었습니다. 그래서 내 질문은 : 암호가 없으면 무엇을 의미하며 이것이 우분투 14.04에서 이것이 기본값입니까?

답변:


142

로부터 :

허가 루트 로그인

root가 ssh (1) 를 사용하여 로그인 할 수 있는지 여부를 지정합니다 . 인수는 "yes", "without-password", "forced-commands only"또는 "no"여야하며 기본값은 "yes"입니다.

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

이 옵션이 "강제 명령 전용"으로 설정되어 있으면 공개 키 인증을 통한 루트 로그인이 허용되지만 command옵션이 지정된 경우에만 가능 합니다 (루트 로그인이 일반적으로 허용되지 않은 경우에도 원격 백업을 수행하는 데 유용 할 수 있음) . 다른 모든 인증 방법은 루트에 대해 비활성화되어 있습니다.

이 옵션을 "no"로 설정하면 root가 로그인 할 수 없습니다.

따라서 without-password공개 키 인증으로 만 루트 로그인이 가능합니다. 이것은 종종 셸 스크립트 및 자동화 된 작업과 함께 사용됩니다.


2
비밀번호를 사용하여 '루트 로그인' 허용하지 않으면 허용하는 것보다 강력한 보안 으로 간주 됩니다. 즉, 다른 방법 (sudo 등)이 작동하지 않으면 루트 에 전혀 로그인 하지 않아야합니다.
david6

5
보시다시피 매뉴얼 페이지에는 기본값이 "yes"라고 표시되어 있지만 Ubuntu는 기본적으로 "암호없이"를 설정했습니다.
ferrouswheel 2016 년

36
그래서 without-password암호를 제외하고 허용하는 모든 방법을 의미? "비밀번호없이 로그인 할 수있다"고 들립니다.
Gauthier

1
"모든 루트 액세스는 고유하고 식별 가능한 사용자 ID로 로컬 로그온 한 다음 로컬에서 인증 된 su 명령을 통해 촉진되어야합니다. 직접 루트 로그인은 매우 안전하지 않으며 책임에 대한 감사 추적 방식은 거의 없습니다." -CIS IBM AIX 안내서
Dominik Antal

22
PermitRootLogin now accepts an argument of 'prohibit-password' as a less-ambiguous synonym of 'without-password'.
endolith

16

실제로이 설정은 PAM 인증을 사용하는 경우 거의 아무 것도 수행하지 않습니다. sshd_config구성 파일 의 맨 아래에 다음이 있습니다.

# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication.  Depending on your PAM configuration,
# PAM authentication via ChallengeResponseAuthentication may bypass
# the setting of "PermitRootLogin without-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to 'no'.

Ubuntu의 기본 설정은 PAM 인증을 사용하는 것입니다.

UsePAM yes

1
내 짧은 경험에서 , 이것을 설정해도 실제로는 작동 no하지 않습니다 PermitRootLogin without-password! :(
cregox

1
당신이 일반적인 데스크톱 시스템을 사용하는 경우 @cregox, 당신은 할 필요가 ssh-copy-id -i ~/.ssh/id_rsa.pub user@ip그것을 만들어 ~/.ssh/authorized_keys당신이 /root/.ssh/에서이 파일을 생성하지 않을 루트로 로그인 할 수없는 경우 마음에 걸리지 만 당신이 복사 할 경우 작동 거기에 파일
Rutrus

3

루트를 통해 로그인하는 데는 합법적 인 이유가 있지만 암호 키는 사용하지만 암호는 사용 하지 마십시오 . 일반적인 예는 두 서버를 원격으로 동기화하는 것입니다 (둘 중 하나를 페일 오버로 사용하기 위해). 구조는 동일해야하므로 종종 루트 암호가 필요합니다.

다음은 동기화를 위해 unison을 사용하는 예입니다. https://serverfault.com/questions/341985/remotely-use-root-over-ssh-for-unison


2
일반 사용자 (암호 키를 사용하는 경우)로 로그인하지 않고 sudo그룹에 속해 있으면이 작업을 수행 할 수 있습니까?
NS du Toit

2

sshd의 최신 버전에서 "암호없이"가 "암호 금지"로 변경되었습니다.

두 버전 모두 작동하지만 가능하면 "비밀번호"를 사용하는 것이 가장 좋습니다.

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