사용자 SSH 디렉토리에서 Authorized_keys를 제거했습니다.

사용자 SSH 디렉토리에서 Authorized_keys를 제거했습니다.

사용자가 ec2-user ssh 디렉터리에서 authenticate_keys를 제거했으며 이제 putty를 통해 ppk 파일로 로그인할 수 없습니다.

다른 사용자로 계속 서버에 액세스할 수 있지만 해당 사용자에게는 sudo 액세스 권한이 없습니다.

sudo 액세스 권한이 있는 유일한 사용자는 ec2-user입니다.

ppk 파일에서 공개 키와 개인 키를 업로드하고 사용하려고 했습니다.

ssh -v -i ec2-userprivate [email protected]

제가 시도할 수 있는 다른 것이 있나요?

[oracle@ip-172-31-62-50 ~]$ ssh -v -i ec2-userprivate [email protected]
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 58: Applying options for *
debug1: Connecting to 127.0.0.1 [127.0.0.1] port 22.
debug1: Connection established.
debug1: key_load_public: No such file or directory
debug1: identity file ec2-userprivate type -1
debug1: key_load_public: No such file or directory
debug1: identity file ec2-userprivate-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_7.4
debug1: Remote protocol version 2.0, remote software version OpenSSH_7.4
debug1: match: OpenSSH_7.4 pat OpenSSH* compat 0x04000000
debug1: Authenticating to 127.0.0.1:22 as 'ec2-user'
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: algorithm: curve25519-sha256
debug1: kex: host key algorithm: ecdsa-sha2-nistp256
debug1: kex: server->client cipher: [email protected] MAC: <implicit> compression: none
debug1: kex: client->server cipher: [email protected] MAC: <implicit> compression: none
debug1: kex: curve25519-sha256 need=64 dh_need=64
debug1: kex: curve25519-sha256 need=64 dh_need=64
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ecdsa-sha2-nistp256 SHA256:truUDHodSW7Zjq/jaruRD7MlYmN0l2vDmxhspUDfwdE
debug1: Host '127.0.0.1' is known and matches the ECDSA host key.
debug1: Found key in /home/oracle/.ssh/known_hosts:10
debug1: rekey after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: rekey after 134217728 blocks
debug1: SSH2_MSG_EXT_INFO received
debug1: kex_input_ext_info: server-sig-algs=<rsa-sha2-256,rsa-sha2-512>
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic
debug1: Next authentication method: gssapi-keyex
debug1: No valid Key exchange context
debug1: Next authentication method: gssapi-with-mic
debug1: Unspecified GSS failure.  Minor code may provide more information
No Kerberos credentials available (default cache: KEYRING:persistent:1001)

debug1: Unspecified GSS failure.  Minor code may provide more information
No Kerberos credentials available (default cache: KEYRING:persistent:1001)

debug1: Next authentication method: publickey
debug1: Trying private key: ec2-userprivate
Enter passphrase for key 'ec2-userprivate':
debug1: No more authentication methods to try.
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

답변1

이 문제를 해결하는 유일한 방법은 EBS 블록을 마운트 해제하고 이를 실행 중인 다른 EC2 인스턴스에 연결한 후 Authorized_keys 파일을 추가하는 것입니다.

  1. 수정해야 하는 인스턴스를 종료합니다.
  2. 인스턴스에서 EBS 블록을 분리합니다.
  3. 기본 설정으로 새 인스턴스를 만듭니다. 유형은 중요하지 않습니다. 정말로 원한다면 t3.nano 스팟 인스턴스를 사용하여 이 작업을 수행할 수도 있습니다.
  4. 새 EC2 인스턴스에 EBS 블록 연결
  5. 새 EC2 인스턴스에 로그인하고 sudo를 사용하여 새 EBS 블록을 탑재합니다.
  6. 마운트의 사용자 디렉터리로 CD를 이동하고 필요한 공개 키를 사용하여 Authorized_users 파일을 만듭니다.
  7. 인스턴스를 종료하고 EBS 블록을 분리한 다음 다른 인스턴스에 다시 마운트합니다.

관련 정보