SSH 로그인이 존재하지 않는 명령을 실행하려고 시도합니다.

SSH 로그인이 존재하지 않는 명령을 실행하려고 시도합니다.

내 서버를 Debian 9에서 10으로 업그레이드했고 다음에 SSH에 접속할 때 재부팅한 후 다음 오류가 발생합니다.

-bash: root:x:0:0:root:/root:/bin/bash: No such file or directory
-bash: daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin: No such file or directory
-bash: bin:x:2:2:bin:/bin:/usr/sbin/nologin: No such file or directory
-bash: sys:x:3:3:sys:/dev:/usr/sbin/nologin: No such file or directory
-bash: sync:x:4:65534:sync:/bin:/bin/sync: No such file or directory
-bash: games:x:5:60:games:/usr/games:/usr/sbin/nologin: No such file or directory
-bash: man:x:6:12:man:/var/cache/man:/usr/sbin/nologin: No such file or directory
-bash: lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin: No such file or directory
-bash: mail:x:8:8:mail:/var/mail:/usr/sbin/nologin: No such file or directory
-bash: news:x:9:9:news:/var/spool/news:/usr/sbin/nologin: No such file or directory

/etc/passwd의 내용과 비슷하고 그 내용이 실행되는 것으로 보아 어딘가에 문제가 있는 것 같습니다.

위의 작업을 시도할 수 있는 세션이 열릴 때 SSH 로그인은 무엇을 합니까? /etc/profile을 확인했는데 모든 것이 표준으로 보입니다. ~/.bashrc를 삭제하려고 시도했지만 아무것도 변경되지 않았습니다.

도움을 주시면 감사하겠습니다. 감사합니다.

답변1

예, /etc/passwd를 실행하려고 합니다.또는 그 사본.

실제로 첫 번째 작업은 디스크를 fsck하고 업그레이드 전 백업으로 복원하는 것입니다.

  1. 이는 알려진 양호한 상태로 가는 가장 안정적인 경로여야 합니다.
  2. 부패가 이 행위에 국한된다는 것을 모르시나요?
  3. 업그레이드로 인해 문제가 발생했는지 확인할 수 있어야 합니다.

....그러나 문제를 더욱 분리하기 위해....

sshd/ssh는 쉘(이 경우 bash) 이외의 다른 것을 실행하지 않습니다. 쉘은 호출 방법에 따라 시작 시 다양한 파일을 실행합니다. @Vilinkameni의 설명에 있는 링크를 참조하세요.

확인하기 편리한 데비안 9 또는 10 호스트는 없지만 /etc/profile의 기본 스크립트는 일반적으로 /etc/profile.d/의 모든 스크립트를 실행하므로 확인해야 할 항목 목록에 추가하십시오. .

/etc/profile을 검사하면 작업 체인에서 잘못된 동작이 발생한 위치를 확인할 수 있습니다. 위에서 본 내용은 STDERR에 쓰는 것입니다. 코드도 거기에 써야 합니다(stdout과 stderr이 반드시 동기화되는 것은 아닙니다).

echo "DEBUG: $BASH_SOURCE[0] : $LINENO" >&2

Debian 10은 6개월 전에 중단되었으며 Debian 9는 20개월 전에 중단되었습니다.

관련 정보