EC2 인스턴스에서 chmod를 사용하여 SSH를 중단했습니다. 어떻게 수정합니까?

EC2 인스턴스에서 chmod를 사용하여 SSH를 중단했습니다. 어떻게 수정합니까?

한동안 Amazon EC2 인스턴스를 실행했는데 최근 실수로 폴더에 대한 권한/소유권을 반복적으로 변경했습니다. 더 이상 인스턴스에 SSH로 연결할 수 없습니다. 정확한 명령이 무엇인지 기억나지 않습니다. 그런 다음 이 질문에 대한 답변에 제공된 기술을 사용하여 기본 액세스를 다시 얻었습니다.https://serverfault.com/questions/234061/re-gaining-root-access-to-an-ec2-ebs-boot-image

하지만 3단계("수정")에서 무엇을 해야 할지 모르겠습니다. 무엇을 수정해야 할지 모르겠고, 올바른 권한을 설정하려고 시도하는 중에 여러 복구 EC2 인스턴스에도 액세스할 수 없게 되었습니다!

참고로 저는 Win7과 Putty/WinSCP를 사용하여 인스턴스에 연결하고 있습니다. SSH를 통해 인스턴스에 로그온하려고 하면 Putty에 다음 2개의 오류가 표시됩니다.

서버가 키를 거부했습니다.

지원되는 인증 방법이 없습니다(서버 전송: 공개 키).

내 인스턴스에 올바른 사용자 이름, IP 주소 및 프라이빗 키를 사용하고 있다고 확신합니다.

어떤 도움이라도 주시면 감사하겠습니다.

답변1

해결책,서버 결함 게시물에 설명된 대로, 연결할 수 있는 다른 (새) 인스턴스에 EBS를 마운트하는 것입니다. EBS는 단지 드라이브일 뿐이며 새 인스턴스이기 때문에 인스턴스에 원격으로 연결할 수 있습니다. 그런 다음 sudo chown처음에 중단한 디렉터리를 사용할 수 있습니다 .

  1. AWS 콘솔에서 첫 번째 인스턴스를 중지(종료하지 않음)

  2. AWS 콘솔에서 새 Linux 인스턴스 생성

  3. 첫 번째 인스턴스에서 EBS를 분리하고 새 인스턴스에 다시 연결합니다.AWS 콘솔에서. 이름을 지정합니다: /dev/sdm(EBS 콘솔에서는 연결된 볼륨의 이름이 sdm이지만 Linux에서는 xvdm으로 매핑되므로 아래 명령과 일치합니다. 하지만 자유롭게 다른 문자를 사용하여 다음 명령.)

  4. 새 인스턴스에 SSH로 연결하고 다음을 실행합니다.

    sudo mkfs -t ext4 /dev/xvdm
    sudo mkdir /old-ebs
    # optional, in case this is a bit more permanent
    sudo echo "/dev/xvdm        /old-ebs     auto    noatime,noexec,nodiratime 0 0" >> /etc/fstab
    sudo mount /dev/xvdm /old-ebs
    
  5. 이제 이전 EBS에 (sudo) 액세스할 수 있으며 chown필요한 디렉터리를 찾을 수 있습니다. 여기서 팁은 분실한 경우 새 인스턴스에서 권한을 복사하는 것입니다.

  6. 작업이 완료되면 새 인스턴스를 중지하고 EBS를 분리한 후 첫 번째 인스턴스에 다시 연결한 후 시작할 수 있습니다.

/etc/fstab재부팅할 때마다 자동으로 마운트되도록 마운트된 볼륨을 추가하는 위의 세 번째 콘솔 명령은 선택 사항입니다.

관련 정보