oracle cloud ssh 접속에러

yshaarj·2022년 7월 15일
1

어케 했음?

목록 보기
1/8
post-custom-banner

permission denied (publickey)


어느 날 오라클 프리티어 서버에 접속하려고 하니 위와같은 오류가 발생했다.

**3줄 요약은 맨 아래에 있습니다


해결법 찾기

대충 rsa 키가 작살났다고 판단,

구글에 찾아보니 크게 아래 두가지 방법을 추천하고 있다.

  1. 인스턴스를 삭제-재생성하여 데이터를 몽땅 날리고 다시 공용키를 만들어 꽁꽁 숨겨 소중히 보관한다.

  2. rsa 키를 다시 만들고 인스턴스에 접속하여 authorized_keys에 붙여넣는다.

1은 왠만하면 쓰고 싶지 않았기 때문에 2를 쓰기로 했다.
하지만 문제는 인스턴스에 접속을 못하는 문제를 고치기 위해 인스턴스로 접속을 해야된다는 것이다.

하지만 생각해보니 여러 클라우드에서는 웹페이지를 통한 console ssh 접속을 지원한다는 것이 떠올랐다.

.
.
.
.

이제 남은건 새로 키를 만들어서 pub키를 인스턴스에 넣으면 된다.
(고 생각했다)

ssh-keygen의 결과물 중 하나인 rsa_oracle.pub의 내용을 긁어서 콘솔로 접속한 인스턴스에 있는 authorized_keys에 붙여넣는다.

이제 다시 접속하면?

당연히 안된다.

결과부터 말하자면 엉뚱한 곳에 있는 authorized_keys파일을 수정했기 때문이다.

인스턴스에 연결할때는 ubuntu 계정을 통해 ssh 접속을 하기 때문에, 당연히 수정해야 할 authorized_keys도 /home/ubuntu/.ssh/에 있는 authorized_keys이어야 했다.

하지만 console ssh로 접속하면 root계정으로 들어가기 때문에
아무 생각없이 root 아래에 있는 .ssh/authorized_keys 파일만 수정하고 있었고, 당연히 접속될리가 없는 것이다.




그래서 정확한 위치에 있는 파일을 수정하면?
.
.
.
.

접속이 잘 되는 것을 확인할 수 있다.



요약

  1. 콘솔로 인스턴스에 연결
  2. rsa 키 생성 후 .pub키 내용 복사
  3. 인스턴스 /home/사용자이름/.ssh/authorized_keys에 .pub에서 복사한 내용 붙여넣기

post-custom-banner

1개의 댓글

comment-user-thumbnail
2023년 2월 20일

ㅋㅋㅋ 짤 웃기네요! 저도 같은 증상인데 감사합니다!

답글 달기