우수한 소프트웨어와 실용적인 튜토리얼
"선택한 사용자 키가 원격 호스트에 등록되어 있지 않습니다" 문제를 해결하는 방법
사용 중엑스쉘원격 로그인AWS서버를 사용하면 "선택한 사용자 키가 원격 호스트에 등록되지 않았습니다.기본적으로 모든 초보자는 동일한 오류를 겪습니다. 그렇다면 SSH 연결 중 "선택한 사용자 키가 원격 호스트에 등록되어 있지 않습니다"라는 오류의 원인은 정확히 무엇일까요? 다음은 오류 원인에 대한 자세한 분석입니다.
Xshell 도구는 널리 사용되는 SSH 원격 도구 중 하나입니다. Putty보다 더 강력하고 openssh를 지원합니다.
창조에서EC2서버에 연결한 후 SSH를 사용하여 연결할 때 SSH 보안 경고가 표시됩니다.
호스트 키를 확인해 주세요.
xxx의 호스트 키가 로컬 호스트 키 데이터베이스에 저장된 키와 일치하지 않습니다. 호스트 키가 변경되었거나 누군가 이 연결을 도청하려고 시도하고 있습니다. 확실하지 않으면 이 연결을 취소하는 것이 좋습니다.
이 시점에서 좀 헷갈립니다. AWS에서 생성한 키에 문제가 있는 걸까요, 아니면 Xshell을 사용한 SSH 연결에 문제가 있는 걸까요? 다음으로, 문제를 단계별로 해결해 보겠습니다.
1단계: 먼저 사용자 이름이 잘못되었는지 확인하세요. AWS에는 작은 함정이 있는데, 각 서버 유형의 기본 사용자 이름이 다르다는 것입니다.구글 클라우드이것이 기본 루트입니다. 다양한 AWS를 살펴보겠습니다.리눅스인스턴스의 사용자 이름입니다.
Amazon EC2 Linux 인스턴스의 기본 사용자 이름은 무엇입니까(SSH, PuTTY 등)?
EC2/AWS 서버의 Linux 인스턴스(Ubuntu, 데비안, 페도라, 아마존 Linux 등의 기본 사용자 이름입니다.
- Amazon Linux 2023/Amazon Linux 2/Amazon Linux ec2-사용자
- 센트OS 센토스 또는 ec2-user
- 데비안 관리자
- 페도라 페도라 또는 ec2-user
- RHEL ec2-user 또는 root
- 수세 ec2-user 또는 root
- 우분투 우분투
- 신탁 ec2-사용자
- 비트나미 비트나미
테스트 머신에 설치된 RHEL 시스템의 기본 사용자 이름은 ec2-user 또는 root입니다. 원격으로 연결할 때 두 사용자 이름을 모두 시도했지만 여전히 연결할 수 없었습니다.
AWS 공식 도움말 페이지:https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect-to-linux-instance.html
2단계: 문제가 사용자 이름에 없는 것을 확인한 후, 키에 문제가 있는지 확인하세요.
키를 사용한 원격 연결에 대한 지침은 공식 문서에 나와 있습니다.
인스턴스에 연결하려면 개인 키 파일의 위치를 알아야 합니다. SSH 연결의 경우, 본인만 파일을 읽을 수 있도록 권한을 설정해야 합니다.
Amazon EC2를 사용할 때 키 쌍이 작동하는 방식에 대한 자세한 내용은 Amazon EC2 키 쌍 및 Linux 인스턴스를 참조하세요.
개인 키 찾기
인스턴스 시작 시 지정한 키 쌍에 대한 .pem 파일이 있는 컴퓨터의 정규화된 경로를 가져옵니다. 자세한 내용은 시작 시 지정된 공개 키 식별을 참조하세요. 개인 키 파일을 찾을 수 없는 경우 개인 키를 잃어버렸습니다. Linux 인스턴스에 연결하려면 어떻게 해야 하나요?를 참조하세요.
Putty를 사용하여 인스턴스에 연결하고 .pem 파일을 .ppk로 변환해야 하는 경우 다음을 참조하세요.PuTTY를 사용하여 Windows에서 Linux 인스턴스에 연결하는 방법 주제에서 PuTTYgen을 사용하여 개인 키 변환.
개인 키에 대한 권한을 설정하여 본인만 읽을 수 있도록 합니다.
~에서 맥OS 또는 Linux 연결
macOS 또는 Linux 컴퓨터에서 SSH 클라이언트를 사용하여 Linux 인스턴스에 연결하려면 다음 명령을 사용하여 개인 키 파일에 대한 권한을 설정하여 사용자만 읽을 수 있도록 합니다.
chmod 400 키 쌍 이름.pem
이러한 권한을 설정하지 않으면 이 키 쌍을 사용하여 인스턴스에 연결할 수 없습니다. 자세한 내용은 "오류: 개인 키 파일이 보호되지 않았습니다."를 참조하세요.Windows에서 연결
파일 탐색기를 열고 .pem 파일을 마우스 오른쪽 버튼으로 클릭합니다. 속성 > 보안 탭을 선택하고 고급을 선택합니다. 상속 사용 안 함을 선택합니다. 현재 사용자를 제외한 모든 사용자의 액세스 권한을 제거합니다.
Windows에서 원격으로 연결할 때 개인 키의 속성을 수정해보세요.
속성을 수정한 후에도 키를 사용하여 연결할 수 없습니다.
3단계: SSH 원격 연결 도구 Xshell 6의 버전이 너무 낮아서 SSH 연결을 수행할 수 없는지 확인합니다.
제 컴퓨터에서 서버를 관리하기 위해 Xshell 6을 사용했기 때문에 오랫동안 Xshell을 업데이트하지 않았습니다. 그래서 Xshell 6을 Xshell 7로 업데이트하고 다시 연결을 시도했습니다.
연결에 성공했습니다!
많은 노력 끝에, 문제는 Xshell 버전이 너무 낮다는 것이 밝혀졌습니다.
마지막으로 요약하자면 원격 연결AWS EC2서버에 연결할 수 없는 경우 가장 가능성 있는 이유는 기본 입력 root와 같은 올바른 사용자 이름을 입력하지 않았기 때문입니다.
또 다른 이유는 SSH 소프트웨어 버전이 너무 낮기 때문입니다. Xshell을 업그레이드하세요!
무료가 없다면아마존 클라우드AWS EC2 서버의 경우 무료로 등록할 수 있습니다.
12개월 무료 AWS Amazon 클라우드 서버 Amazon 클라우드 Amazon 클라우드 최신 튜토리얼 신청
AWS 중국 공식 웹사이트: https://aws.amazon.com/cn/
Amazon Web Services 공식 웹사이트: https://www.amazonaws.cn/