브라우저 기반 SSH 콘솔을 사용하여 Lightsail 인스턴스에 액세스할 때 오류가 발생하는 이유는 무엇입니까?
브라우저 기반 SSH 콘솔을 사용하여 나의 Amazon Lightsail 인스턴스에 연결할 때 UPSTREAM_ERROR [515], UPSTREAM_NOT_FOUND [519] 또는 CLIENT_UNAUTHORIZED [769] 메시지가 나타납니다.
간략한 설명
Lightsail 인스턴스에 연결할 때 SSH 관련 오류가 발생하면 다음과 같은 메시지가 표시될 수 있습니다.
- “Your instance encountered an error and has closed the connection. Try again or contact customer support. UPSTREAM_ERROR [515]”
- “An error occurred and we were unable to connect or stay connected to your instance. If this instance has just started up, try again in a minute or two. UPSTREAM_NOT_FOUND [519]”
- “Login failed. If this instance has just started up, try again in a minute or two. CLIENT_UNAUTHORIZED [769]”
UPSTREAM_ERROR [515] 및 UPSTREAM_NOT_FOUND [519] 오류는 SSH를 통해 Lightsail 인스턴스에 연결할 수 없음을 나타냅니다. 이러한 오류의 원인은 다음과 같습니다.
- 부팅 실패, 상태 확인 실패 또는 리소스 초과 사용률 등 인스턴스에 문제가 있습니다.
- OS 수준 방화벽이 SSH 포트 액세스를 차단하고 있습니다.
- SSH 포트(22)는 기본값이 아닙니다.
- SSH 서비스가 다운되었습니다.
CLIENT_UNAUTHORIZED [769] 오류는 Lightsail 인스턴스에 SSH 인증 문제가 있음을 나타냅니다. 오류의 원인은 다음과 같습니다.
- /etc/ssh/lightsail_instance_ca.pub Lightsail 시스템 키를 잘못 구성했습니다.
- Ubuntu 인스턴스 버전을 20.04 이상으로 업그레이드했습니다.
해결 방법
인스턴스 부팅 실패, 인스턴스 상태 확인 실패 또는 리소스 사용률 초과가 발생했습니다
인스턴스가 시스템 상태 확인 또는 인스턴스 상태 확인에 실패했는지 확인하려면 인스턴스 지표를 확인하세요.
시스템 상태 확인
시스템 상태 확인이 실패하면 인스턴스의 기본 하드웨어가 비정상인 것입니다. 문제를 해결하려면 인스턴스를 중지한 다음 시작하여 인스턴스를 정상 하드웨어로 마이그레이션하세요.
경고: 인스턴스를 중지하고 시작할 때마다 인스턴스의 퍼블릭 IP 주소가 변경됩니다. 중지하고 시작할 때마다 매번 퍼블릭 IP 주소를 변경하지 않으려면 인스턴스를 중지하기 전에 고정 IP 주소를 연결하세요.
인스턴스 상태 확인
인스턴스 상태 확인에 실패한 경우 운영 체제 수준의 문제로 인해 부팅 오류가 발생했을 수 있습니다. 또는 인스턴스의 CPU나 메모리와 같은 리소스가 과도하게 사용되었을 수 있습니다. 문제 해결 단계의 경우 Lightsail 인스턴스가 응답하지 않는 원인이 되는 일반적인 문제를 해결하려면 어떻게 해야 하나요?를 참조하세요
OS 수준 방화벽이 SSH 포트 액세스를 차단하고 있습니다
브라우저 기반 SSH 액세스는 Amazon 내부 IP 주소를 사용하여 Lightsail 인스턴스에 연결합니다. 일부 OS 수준 방화벽과 액세스 제어 파일은 한 IP 주소 집합에 대한 SSH 액세스만 허용합니다. 이 경우 UPSTREAM_NOT_FOUND [519] 또는 UPSTREAM_ERROR [515] 오류를 받습니다. 방화벽이 SSH 액세스를 완전히 차단하는 경우에도 동일한 문제가 발생합니다.
참고: OS 수준 방화벽의 예로는 Iptables 및 UFW가 있습니다. 제어 파일의 예로는 cPanel 기반 인스턴스에서 액세스 제어를 호스팅하는 /etc/hosts.deny가 있습니다.
이 오류를 해결하려면 다음 작업 중 하나를 수행하세요.
- SSH를 사용하여 터미널 또는 PuTTY 애플리케이션에서 인스턴스에 액세스할 수 있는 경우 인스턴스에 로그인하세요. 방화벽과 /etc/hosts.deny 파일에서 거부 규칙을 제거하세요.
- cPanel 인스턴스가 있는 경우 WHM 콘솔에 액세스하여 방화벽 규칙을 제거하세요.
- SSH를 사용하여 터미널 또는 PuTTY 애플리케이션에서 인스턴스에 연결할 수 없는 경우 시작 스크립트를 사용하여 방화벽을 비활성화하세요. 시작 스크립트는 인스턴스를 시작할 때만 추가할 수 있습니다.
시작 스크립트를 사용하여 OS 수준 방화벽, Iptables 및 UFW를 비활성화하려면 다음 단계를 완료하세요.
-
Amazon Lightsail 콘솔을 여세요.
-
스냅샷 탭의 수동 스냅샷에서 새 스냅샷 옆에 있는 세 개의 점을 선택하세요.
-
새 인스턴스 생성을 선택하세요.
-
이전 인스턴스와 동일한 가용 영역을 선택하세요.
-
시작 스크립트 추가를 선택한 후 다음 스크립트를 추가하세요.
참고: 다음 예제 스크립트는 UFW 방화벽을 비활성화하고, 모든 Iptable 체인 또는 방화벽 규칙을 플러시하고, /etc/hosts.deny 파일의 이름을 변경하여 비활성화합니다.sudo ufw disable sudo iptables -F sudo mv /etc/hosts.deny /etc/hosts.deny_backup sudo touch /etc/hosts.deny sudo systemctl enable sshd sudo systemctl restart sshd
-
새 인스턴스 플랜을 선택하거나 이전 인스턴스와 동일한 플랜을 사용하세요.
-
인스턴스 이름을 입력한 다음 인스턴스 생성을 선택하세요.
새 인스턴스가 실행되기 시작한 후 10~15분 정도 기다린 다음 브라우저 기반 SSH 콘솔을 사용하여 인스턴스에 연결을 시도하세요.
참고: 이전 인스턴스에 고정 IP 주소가 있는 경우 새 인스턴스에서 고정 IP 주소를 사용하세요. Lightsail 콘솔의 네트워킹 탭에서 고정 IP 주소를 분리한 다음 새 인스턴스에 연결하세요.
SSH 서비스가 다운되었습니다
인스턴스에서 SSH 서비스가 실행 중이거나 활성화되지 않은 경우 SSH 연결이 실패하고 UPSTREAM_NOT_FOUND [519] 오류가 발생합니다. 이 문제를 해결하려면 Lightsail 인스턴스에 AWS Systems Manager Session Manager를 구성하세요. 그런 다음 SSH 서비스 없이 인스턴스에 액세스하여 SSH 문제를 해결하세요.
SSH 문제에 대한 기본 문제 해결 단계는 다음과 같습니다.
- OS 배포에 따라 /var/log/auth.log 또는 /var/log/secure 파일의 SSH 인증 로그를 검토하여 오류를 식별하세요.
- SSH 구성 파일 구문을 테스트한 다음 오류를 수정하세요.
sudo sshd -t sudo systemctl restart sshd
/etc/ssh/lightsail_instance_ca.pub Lightsail 시스템 키를 잘못 구성했습니다
Lightsail은 /etc/ssh/lightsail_instance_ca.pub 시스템 키를 사용하여 브라우저 기반 SSH 액세스를 활성화합니다. 이 파일이 없는 경우 SSH 인증이 실패하고 CLIENT_UNAUTHORIZED[769] 오류가 발생합니다. Lightsail 시스템 키가 /etc/ssh/sshd_config SSH 구성 파일의 TrustedUserCAKeys 매개변수에 지정되지 않은 경우에도 동일한 오류가 발생합니다.
SSH를 사용하여 터미널 또는 PuTTY 애플리케이션을 통해 인스턴스에 연결할 수 있는 경우 인스턴스에 로그인하세요. /etc/ssh/sshd_config 파일이 존재하고 이 파일에 ssh-rsa 키가 포함되어 있는지 확인하세요.
파일이 없는 경우 다음 단계를 따라 파일을 다시 생성하세요.
-
다음 명령을 실행하여 명령 출력에 ssh-rsa 키가 있는지 확인하세요.
sudo cat /var/lib/cloud/instance/user-data.txt | grep ^ssh-rsa
-
명령이 출력에서 ssh-rsa 키를 반환하는 경우 다음 명령을 실행하여 이를 /etc/ssh/lightsail_instance_ca.pub에 복사하세요.
sudo sh -c "cat /var/lib/cloud/instance/user-data.txt | grep ^ssh-rsa > /etc/ssh/lightsail_instance_ca.pub" sudo sh -c "echo >> /etc/ssh/sshd_config" sudo sh -c "echo 'TrustedUserCAKeys /etc/ssh/lightsail_instance_ca.pub' >> /etc/ssh/sshd_config" sudo systemctl restart sshd
-
ssh-rsa 키를 받지 못하거나 SSH를 사용하여 인스턴스에 연결할 수 없는 경우 인스턴스의 스냅샷을 생성하세요. 스냅샷에서 새 인스턴스를 시작하면 인스턴스 시작 시 Lightsail 시스템 키가 서버에 자동으로 추가됩니다.
Ubuntu 인스턴스 버전을 20.04 이상으로 업그레이드했습니다
Ubuntu 20.04 이상을 실행하는 인스턴스의 경우 인증 기관(CA)이 ssh-rsa 알고리즘을 사용하여 인증서에 서명하도록 허용해야 합니다. 그렇지 않으면 인증이 실패하고 CLIENT_UNAUTHORIZED [769] 오류가 발생합니다. Ubuntu 인스턴스 버전 20.04 이상에서는 CA(Certificate Authority)가 기본적으로 ssh-rsa 알고리즘을 사용하도록 허용됩니다. 하지만 이전 Ubuntu 인스턴스 버전을 20.04로 업그레이드하는 경우 CA를 수동으로 허용해야 합니다.
CA를 수동으로 허용하려면 다음 단계를 완료하세요.
-
터미널 또는 PuTTY 애플리케이션과 같은 SSH 클라이언트를 사용하여 인스턴스에 연결하세요.
-
SSH 구성 파일(/etc/ssh/sshd_config)을 여세요.
-
Ubuntu 인스턴스 버전의 파일에 CA 파라미터를 추가하세요.
Ubuntu 인스턴스 버전이 20.04로 업그레이드됨
sshd\ _config 파일에 CASignatureAlgorithms 매개변수 라인을 수동으로 입력하세요.
$ sudo vi /etc/ssh/sshd_config $ cat /etc/ssh/sshd_config | egrep "CASignature" CASignatureAlgorithms ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa
Ubuntu 인스턴스 버전이 22.04로 업그레이드됨
CASignatureAlgorithms 및 PubkeyAcceptedAlgorithms 매개변수 라인을 sshd_config 파일에 수동으로 입력하세요.
$ sudo vi /etc/ssh/sshd_config $ cat /etc/ssh/sshd_config | egrep "CASignature|PubkeyAccepted" CASignatureAlgorithms ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa PubkeyAcceptedAlgorithms +ssh-rsa-cert-v01@openssh.com,ssh-rsa
-
다음 명령을 실행하여 sshd 구성 파일 내용을 확인하세요.
$ sudo sshd -T
-
다음 명령을 실행하여 네트워크 서비스를 다시 시작하세요.
$ sudo systemctl restart sshd
관련 콘텐츠
- 질문됨 8달 전lg...
- 질문됨 7달 전lg...
- 질문됨 2년 전lg...
- 질문됨 2년 전lg...
- 질문됨 2년 전lg...
- AWS 공식업데이트됨 2년 전
- AWS 공식업데이트됨 2년 전