다른 컴퓨터에 연결하려고 하면 아래 명령을 실행합니다.
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 사용 여부에 따라 다름)