SUID 경고로 인해 SSH에 연결할 수 없습니다.

SUID 경고로 인해 SSH에 연결할 수 없습니다.

다른 컴퓨터에 연결하려고 하면 아래 명령을 실행합니다.

user1@host1:~$ ssh user2@host2
user2@host2's password: 

나는 다음을 받는다:

WARNING: Your password has expired.
You must change your password now and login again!
passwd: must be suid to work properly
Connection to host2 closed.
user1@host1:~$ 
  • Host1은 Ubuntu OS 시스템입니다.

  • Host2는 Buildroot OS 시스템입니다.

분명히 비밀번호를 변경했지만 도움이 되지 않았습니다.

뭐가 잘못 되었 니? 어떻게 해결할 수 있나요?

답변1

해결책:

문제의 원인은 내 ARM 보드의 날짜입니다. '비밀번호가 만료되었습니다'라는 이유입니다.

올바른 날짜를 설정하려면 다음을 사용하십시오.

# date -s '[current date]'

ARM 보드의 명령 및:

# hwclock -w

하드웨어의 날짜 설정을 유지합니다.

답변2

상자에 물리적으로 액세스할 수 있는 경우 루트로 문제를 해결할 수 있습니다. 상자에 비밀번호 변경이 강제로 적용되지 않고 루트로 sudo 또는 su를 수행할 수 있는 다른 사용자 계정이 없으면 아마도 그럴 수 있습니다.

답변3

RootFS에 여러 가지 문제가 있는 것 같습니다.

  • "passwd" 실행 파일이 suid 루트가 아닌 것 같습니다.
  • 사용자 설정이 비활성화된 상태인 것 같습니다.

이 상태에서는 SSH를 통해 문제를 해결할 수 없을 것 같습니다. 모든 형태의 콘솔(예: 직렬)에 액세스할 수 있습니까?

RootFS를 어떻게 만들었나요?(또는 어디서 얻었나요?)

콘솔에 액세스할 수 있는 경우 다음을 시도하십시오.

  • 루트로 직접 로그인
  • "passwd 사용자 이름"
  • 새 비밀번호를 입력하세요
  • SSH를 통해 다시 시도하세요
  • /usr/bin/passwd 권한 수정(세부사항은 busybox 사용 여부에 따라 다름)

관련 정보