손상된 서버를 bash 설치하기 위한 SSH

손상된 서버를 bash 설치하기 위한 SSH

내 Arch Linux VPS에서 ncurses 설치가 중단된 것 같습니다. 이제 SSH를 사용하여 로그인할 수 없으며 다음 오류가 발생합니다.

$ ssh [email protected]
Last login: Mon Oct 26 08:56:59 2015 from 0.0.0.0
-bash: error while loading shared libraries: libncursesw.so.5: cannot open shared object file: No such file or directory
Connection to xyz.com closed.

지금은 무엇을 해야할지 잘 모르겠습니다. 서버에서 tmux 세션이 실행 중입니다. 포트 등을 전달하여 로컬 컴퓨터에서 연결할 수 있는 방법이 있습니까?

답변1

VPS 호스팅 제공업체(DigitalOcean) 덕분에 Arch ISO로 부팅하고, 시스템 파티션을 마운트하고, 다음과 같이 시스템 업그레이드를 수행할 수 있었습니다 pacman.

$ mount /dev/vda1 /mnt/arch
$ pacman --root /mnt/arch --cachedir /mnt/arch/var/cache/pacman/pkg --config /mnt/arch/etc/pacman.conf -Syyu

이로써 문제가 해결되었습니다.

이야기의 교훈:Arch Linux에서는 부분 업그레이드를 수행하지 마십시오.

답변2

로그인 쉘이 시작되지 않으면 로그인할 수 없습니다. 클라이언트는 서버에 문자열을 보내고, 이 문자열은 서버에 있는 사용자의 로그인 셸에서 해석됩니다. 클라이언트는 서버에 "대신 다른 명령을 실행"하라고 지시할 수 없습니다.

이는 보안 메커니즘입니다. 사용자의 셸이 수행할 수 있는 작업이 제한되면 사용자는 허용되지 않는 작업을 수행할 수 없습니다.

시스템의 모든 계정에 대한 액세스를 차단한 경우 물리적 액세스 또는 복구 콘솔과 같은 일반적인 로그인을 우회하는 방법을 사용해야 합니다.

몇 가지 팁:

  • 유지 관리를 수행할 때 항상 루트 셸을 열어두고 모든 것이 제대로 작동하는지 테스트할 때까지 닫지 마십시오.
  • sudoer 권한이 있는 계정에 정적으로 연결된 셸을 설치합니다. Arch와 함께 사전 패키지된 항목이 없습니다.데비안에는 몇 가지가 있습니다;실행 파일을 복사하여 에 추가하면 됩니다 /etc/shells.
  • 무언가가 손상되더라도 루팅할 수 있는 방법이 있는지 확인하십시오. 루트 쉘을 이와 bash-static유사한 sash것으로 설정하거나계정(루트 로그인의 또 다른 방법) 이 비밀번호도 깨질 수 있다는 점을 명심하세요 sudo. 귀하의 계정에 무작위로 생성된 비상 비밀번호(고유하고 기억할 필요 없음)를 설정하고 종이에 적어서 금고에 보관해야 할 수도 있습니다.

답변3

시도해 보셨나요:

ssh -t 사용자 이름@호스트 이름/bin/sh

scp Missing libncursesw.so.5를 통해 원격으로 복사해 볼 수도 있습니다.

관련 정보