왜 SSH를 통해 루트로 전환할 수 없나요?

왜 SSH를 통해 루트로 전환할 수 없나요?

저는 완전히 동일한 이미지(debian-11.3.0-amd64-netinst - 헤드리스)를 사용하여 두 개의 가상 머신을 설정했습니다.

이 기계에서 내가 만진 유일한 것은 다음과 같습니다.

  • 루트 비밀번호
  • 시스템 비밀번호
  • sudo 명령 설치
  • 변경된 IP 주소
  • SSH 포트 변경
  • UFW 설치, SSH 포트 변경 및 OpenSSH 및 WWW Full 활성화

처음 만든 컴퓨터에서는 모든 것이 잘 작동합니다. 사용자 SSH를 통해 연결한 sysad다음 su root루트 비밀번호를 사용하여 루트 액세스 권한을 얻을 수 있습니다(Ssh 루트 로그인은 기본적으로 비활성화되어 있습니다).

내가 만든 두 번째 컴퓨터(완전히 동일한 이미지 포함)에서 SSH를 통해 사용자에 연결할 수 있지만 sysad" su root인증 실패" 메시지가 표시됩니다.

journalctl기본적으로 같은 내용을 알려줍니다.

pam_unix(su:auth): authentication failure...

두 시스템 모두에서 그룹과 uid를 확인했는데 구성이 정확히 동일했습니다. 또한 비밀번호에 대해서는 100% 확신합니다. Su + 루트 비밀번호는 하이퍼바이저를 통해 머신에서 직접 실행할 때 유효합니다. 또한 비밀번호를 수동으로 여러 번 입력했으며 일반 텍스트로 확인하기 위해 사용자 이름 필드에 비밀번호를 입력하여 잘못된 문자 집합이 있는지 확인하려고 했습니다.

내가 여기서 무엇을 놓치고 있는지 아는 사람 있나요?

답변1

구체적으로 설치했다고 언급했지만 루트 액세스 권한을 얻는 데 사용한 sudo것을 설명했습니다 . su이 두 명령은 동일한 최종 결과를 달성하지만 동일하지는 않습니다.

둘 다는 아니지만 둘 중 하나:

sudo -s    # Ask for root access, usually authenticate with the caller's password
su         # Ask for root access, authenticate with the target's (root) password

또 다른 가능성은 소스 사용자 이름이 명령 중 하나를 사용하는 데 필요한 그룹에 있지만 활성화하려면 로그아웃했다가 다시 로그인해야 한다는 것입니다.

그룹 구성원은 명령 내에서뿐만 아니라 /etc/group명령을 사용해도 확인할 수 있습니다 id.

답변2

언급된 내용 외에도,

/etc/sudoersvisudo(적어도 내가 익숙한 RHEL 7에서는) 보면 %wheel사용자에게 다음을 요청하는 줄이 있습니다.바퀴그룹이 성공적으로 su루팅될 수 있습니다. 현재로서는 sudo이것이 다른 명령보다 먼저 명령을 사용하는 데 얼마나 영향을 미치는지 기억이 잘 나지 않습니다 .

또한 편집 /etc/ssh/sshd_config하고 주석 처리를 제거하고 루트로 VM 간에 직접 SSH를 허용하여 설정을 PermitRootLogin YES파악할 때까지 기다리지 않고도 더 쉽게 액세스할 수 있도록 하는 것을 고려할 수도 있습니다 .susudo

xxx 일반적으로 말하면 /etc/pam.d이것이 모두 기본값이고 수정되지 않은 경우 수행 중인 작업에 영향을 미치지 않습니다(적어도 RHEL에서 내가 잘 알고 있는 작업에 대해서는 Debian에서도 마찬가지라고 가정합니다) xxx

고쳐 쓰다:/etc/pam.d/su이는 RHEL 7.9의 기본 설정입니다.

#%PAM-1.0
auth            sufficient      pam_rootok.so
# Uncomment the following line to implicitly trust users in the "wheel" group.
#auth           sufficient      pam_wheel.so trust use_uid
# Uncomment the following line to require a user to be in the "wheel" group.
auth            required        pam_wheel.so use_uid

auth            substack        system-auth
auth            include         postlogin
account         sufficient      pam_succeed_if.so uid = 0 use_uid quiet
account         include         system-auth
password        include         system-auth
session         include         system-auth
session         include         postlogin
session         optional        pam_xauth.so

제가 아래에 아무 말도 하지 않는 실수를 저질렀습니다 /etc/pam.d. /etc/pam.d/su먼저 파일을 확인해야 합니다. 적어도 RHEL 7.9에는 및 su-l.sudosudo-i

관련 정보