Debian 6을 실행하는 서버가 있고 Bitvise SSH 클라이언트를 사용하여 Windows 데스크톱에 로그인합니다. node.js와 npm을 설치하려고 하고 apt-get을 사용하여 다양한 작업을 시도하고 있습니다. 좌절감을 느끼고 연결이 끊어졌습니다. 나중에 돌아와서 다시 시도했지만 이제 Bitvise SSH 클라이언트를 사용하여 로그인하려고 하면 이 오류가 발생합니다.
/bin/sh: 해당 파일이 없거나 디렉터리 연결이 닫혀 있습니다.
이 오류는 루트 계정을 포함하여 서버의 모든 계정에서 발생합니다.
하지만 SFTP를 사용하여 서버를 탐색하고 파일을 편집/업로드/삭제할 수 있습니다. 다른 데비안 서버인 데이터베이스 서버에 로그인하고 해당 컴퓨터에 SSH를 시도했지만 모든 계정에 대해 동일한 오류 메시지가 나타났습니다.
이 문제를 해결하는 방법에 대한 아이디어가 있습니까?
답변1
판단 기반채팅방에서 토론, 쉘 바이너리가 디스크에 존재하지만 실행할 수 없습니다. 이는 라이브러리(아마도 libc)가 누락된 증상이므로 매우 나쁜 소식으로 보입니다. ssh
그러면 아무 소용이 없을 테니까요.명령을 실행하려면 기능적 셸이 필요합니다..
libc에 문제가 있는 경우 로컬 로그인(예: 물리적 액세스)도 실패하지만 이미지에 포함된 셸 initrd
( busybox
가능하다면)을 사용하거나 USB 드라이브의 라이브 Linux를 사용하여 문제를 성공적으로 해결할 수 있습니다.
sftp
그때까지는 다음을 사용하여 ldconfig
시도해 볼 수 있습니다.
마지막으로 모든 것이 준비되면 bash-static
쉘이 더 이상 외부 라이브러리에 의존하지 않도록 패키지를 설치할 수 있습니다.
[업데이트] 서버에 연결할 수 있는 아이디어 ssh
: ( ) 패키지 sftp
의 셸을 원격 서버로 복사할 수 있습니다. 그런 다음 리모컨을 수정 하고 대소문자를 변경한 다음 연결할 수 있습니다 . 패키지 내용을 사용하여 동일한 작업을 수행 하고 몇 가지 기본 도구( 등)를 사용하여 문제 를 해결할 수도 있습니다.bash-static
/bin/bash-static
/bin
/etc/passwd
root
/bin/bash-static
ssh
/bin/busybox
busybox-static
mv
cp