2017-04-05 2 views
-1

AWS에서 새로운 키 쌍을 포함하고 보안 그룹에 SSH를 추가하는 등 새로운 EC2 인스턴스를 만들었습니다.aws permission denied (publickey) 새 인스턴스

ssh.exe : 다음은 출력 추적의 OpenSSH_7.1p2,은 OpenSSL 1.0.2h 2016년 5월 3일 줄에 : 1 개 문자 :. 4 + ssh를 < < < < -v -i \ CHEFtutorial.pem EC2 -514-148-153-153.us-west-2.compute.amazo naws.com 2> out.txt + 분류 정보 : NotSpecified : (OpenSSH_7.1p2, .... 2h 3 월 2016 : 문자열) [] ,는 RemoteException + FullyQualifiedErrorId : NativeCommandError DEBUG1 : 판독 데이터 구성은/etc/SSH/ssh_config를

DEBUG1 : 연결 ec2-54-148-153-153.us-west-2.compute.amazonaws.com [54.14 8.153.153] 포트 22.

debug1 : 연결이 설정되었습니다.

DEBUG1 : key_load_public : 해당 파일이나 디렉토리

DEBUG1 : 신원 파일 \ CHEFtutorial.pem 타입 -1

DEBUG1 :. key_load_public : 해당 파일이나 디렉토리

DEBUG1 : 신원 파일 . \ CHEFtutorial.pem-CERT 타입 -1

DEBUG1 : 프로토콜 2.0에 대한 호환성 모드를 사용

DEBUG1 : 소호 CAL 버전 문자열 SSH-2.0-OpenSSH_7.1

DEBUG1 : 원격 프로토콜 버전 2.0, 원격 소프트웨어 버전 OpenSSH_7.2p2 Ubun TU-4ubuntu2.1

DEBUG1 : 경기 : OpenSSH_7.2p2 우분투 4ubuntu2.1 SSH2_MSG_KEXINIT

을 보내

DEBUG1가 'i861009'로 ec2-54-148-153-153.us-west-2.compute.amazonaws.com:22에 인증 : 팻 OpenSSH의 *는 0x04000000 DEBUG1을 compat 시스템 debug1 : SSH2_MSG_KEXINIT 수신

DEBUG1 : KEX : 서버 -> 클라이언트 [email protected] 없음

DEBUG1 : KEX : 클라이언트 -> 서버 [email protected] 없음

DEBUG1 : SSH2_MSG_KEX_ECDH_REPLY

기대

DEBUG1 : 서버 호스트 키 : ECDSA-SHA2 - nistp256 SHA256 : 8jkpw + J1G8Lx8eamhiOYm0xTtCA + ElsRgJznVyK7Rnw

DEBUG1 : 호스트 'ec2-54-148-153-153.us-west-2.co mpute.amazonaws.com '은 (는) 이며 ECDSA 호스트 키와 일치합니다.

debug1 :/c/Users/i861009 /에 키가 있습니다.SSH /에서 known_hosts : 2

DEBUG1 : SSH2_MSG_NEWKEYS 기대

DEBUG1 : SSH2_MSG_SERVICE_REQUEST이

DEBUG1 전송 : SSH2_MSG_NEWKEYS이

DEBUG1받은 SSH2_MSG_NEWKEYS이

DEBUG1 전송 SSH2_MSG_SERVICE_ACCEPT이

을 받았다을 DEBUG1 : 계속할 수있는 인증 : publickey

DEBUG1 : 다음 인증 방법 : 공개 키의 DEBUG1 : 개인 키를 시도 :. \ CHEFtutorial.pem

DEBUG1 : 공개 키

DEBUG1을 : 계속할 수의 Authentications 시도하는 더 이상 인증 방법. 허가가 거부되었습니다 (publickey).

입력 내용은 ssh -v -i .\CHEFtutorial.pem ec2-54-148-153-153.us-west-2.compute.amazonaws.com입니다. 어떤 이유로 서버가 키를 거부합니까? 이 질문에 대한 다른 대답이 문제로 기록 된 사용 권한 정보를 가지고 놀지 않았습니다.

답변

0

또한 해당 서버에서 ssh를 수행 할 사용자의 이름을 언급해야합니다.

예. 컴퓨터가 Ubuntu 인스턴스 인 경우

ssh -v -i. \ CHEFtutorial.pem [email protected]

해당 컴퓨터의 해당 사용자를 찾으십시오. 당신은 AWS 문서에서 그것을 얻을 수 있다고 생각합니다. 그런 다음 서버 주소 앞에 username @을 접두사로 붙이십시오.

+0

으로 명령을 제공합니다. 내 것은 우분투 인스턴스이며 우분투와 루트 모두 사용자 이름으로 사용하려고 시도했습니다. – ViggyNash

0

PEM을 파일의 권한은 우분투 서버의 경우,

ssh -v -i CHEFtutorial.pem [email protected] 

을 실행 PEM 파일이 존재하는 디렉토리를 이동하고

sudo chmod 400 CHEFtutorial.pem 

을 실행 (400)

있는지 확인하십시오 usernameubuntu으로 지정하고 rhel 또는 centos 서버의 경우 사용자 이름을 ec2-user으로 입력하십시오.

참고 : - PEM을 파일의 소유자가 루트 인 경우, 이미 두 번 시스템에 대한 사용자 이름을 확인했다 sudo

+0

나는 이미 그 명령을 실행했다. 권한을 의도 한대로 수정했는지 테스트하고 확인하는 방법이 있습니까? – ViggyNash

+0

그 디렉토리로 가서 'ls -l'또는 'll'을 주면, 그것의 허가와 소유권이있는 파일을 나열 할 것입니다 – shahin