[DevOps] 인스턴스 접속 시 ssh key 접근 불가 해결 | ssh 없이 인스턴스 사용하기
개요
보통 서버에 SSH 접속 버튼을 눌러 접속하는데
chmod 명령어로 ssh 키 관련 작업을 하고 서버에서 나간 이후....
계속 아래와 같은 SSH 인증 관련 에러가 발생했다.
VM 인스턴스 자체는 정상이어서
로그를 살펴보니까,
Invalid ssh key entry 이런 오류가 발생했다.
새로 키를 발급 받고 메타데이터에 추가하는 등 발버둥을 쳤지만 해결이 안돼서 다음과 같은 방법을 진행했다.
직렬 콘솔
VM 인스턴스에서 직렬 콘솔에 연결을 설정하면 부팅 및 네트워킹 문제를 디버그하고 고장 난 인스턴스의 문제를 해결하는 등 여러 VM 인스턴스 관련 기타 문제 해결 작업을 수행할 수 있다.
실제로 포트를 연결하고 콘솔에 들어가보면 서버 상태와 관련한 로그들이 출력되므로, 문제 해결에 좋은 도구가 될 것같다.
유저 등록하기
이러한 직렬 콘솔에 접속하여 내 VM 인스턴스를 조작하려면 인스턴스 > 수정 > 자동화 부분에서 시작 스크립트에 유저를 등록해주어야 한다.
#!/bin/bash
useradd USERNAME
echo USERNAME:PASSWORD | chpasswd
usermod -aG google-sudoers USERNAME
까먹으면 곤란하기에 id와 password 모두 root로 지정하였다.
유저로 접속하기
이렇게 유저 등록을 완료해주고 나서 한번 재부팅을 해야한다.
재부팅 이후 VM 인스턴스에 접속하면 아래와같이 쭉 로그가 뜬다.
이 상태에서 Enter만 입력하면 login을 하라는 안내가 뜬다. 아까 인스턴스에 설정해준 아이디와 비밀번호를 입력해서 접속하자.
비밀번호는 입력하더라도 창에 표시되지 않으니 당황하지 않아도 된다.
아이디와 비밀번호를 알맞게 입력하면 VM 인스턴스에 접속할 수 있다!....
이제 SSH로 접속하지 못해서 하지 못한 일들을 수행해주면 된다.