기본 쉘 오류 시 SSH를 통해 로그인하는 방법

기본 쉘 오류 시 SSH를 통해 로그인하는 방법

기본 루트 쉘을 잘못된 경로로 변경했습니다. 이제 첫 번째 줄은 /etc/passwd다음 문자열과 같습니다.

root:x:0:0:root:/root:/usr/bin/bash

그런 다음 서버에서 로그아웃했는데 이제 루트를 통해 로그인할 수 없습니다.

서버에 다른 사용자가 없습니다.

알아요, 여기에는 어리석은 오류가 많이 있습니다. 그런데 어떻게 수정합니까?

서버는 SSH를 통해서만 접속할 수 있습니다.

고쳐 쓰다

이 작업은 불가능합니다. www-data 사용자로 모든 명령을 실행하는 방법을 찾았습니다. /etc/passwdsudo가 아닌 사용자로 어떻게 변경합니까 ?

답변1

SSH 및 잘못된 쉘을 사용하여 로그인할 수 없습니다. 유효하지 않은 쉘을 설정하는 것은 사용자의 로그인을 허용하지 않고 일부 SSH 서비스를 사용하는 표준 방법이기도 합니다(예: git 참조). 따라서 대체 방법을 사용하면 많은 서버의 보안이 위험해질 수 있습니다.

마찬가지로, sudoer가 아닌 계정에 액세스하는 것은 도움이 되지 않습니다. 루트 계정을 "로그인 허용 안 함" 구성으로 설정했습니다. 따라서 로그인이 불가능합니다.

사용자 정의 커널 매개변수 또는 일부 로컬 콘솔을 사용하여 재부팅해야 합니다.

답변2

셸 명령을 명시적으로 실행해 보세요.

ssh <hostname> /bin/bash 

그렇지 않으면 passwd 파일 등을 복구하는 명령을 작성해 보십시오. 나는 쉘이 명시적 명령을 실행할 수 있다고 생각하며, 쉘 실행이 기본값일 수도 있습니다. 또한 SSH 옵션을 확인하십시오. 작동하려면 일부를 선택해야 할 수도 있습니다.

관련 정보