만쥬의 개발일기
article thumbnail

늘 하듯이 EC2 인스턴스의 authorized key에 내 ssh public 키를 등록하고 잘 사용하고 있었다..

그런데 갑자기 잘 접속되던 인스턴스에 접속을 시도하자 다음 에러를 직면했다.

Permission denied (publickey).

 

아니 분명히 public 키도 잘 등록했는데 왜지?? 싶어서 authorized_keys 폴더에 권한을 줘보기도 하고, public 키에도 권한을 줘보고, 로그도 보며 SSH known_host도 수정해보는 등 다양한 방법을 써봤지만, 결국 다음 방법으로 해결했다.

 

먼저 브라우저로 EC2 커널에 접속해, /etc/ssh/sshd_config 파일을 수정한다.

sudo vi /etc/ssh/sshd_config

해당 파일에 PasswordAuthentication 을 no에서 yes로 바꿔준다.

저장하고 나와서, ssh 서버를 다시 실행해준다.

sudo service ssh restart

 

만약 이후에 다시 접속을 하려고 했을 때, ubuntu 계정에 password가 생성되어 접속이 안될 수 있다. (enter로 안넘어가짐)

이때는 ubuntu 비밀번호를 생성해주어야한다.

 

먼저 ec2 콘솔에서 다음 명령어로 관리자 권한으로 접속 후,

sudo su -

ubuntu 계정의 비밀번호를 설정해준다.

passwd ubuntu

 

이제 다시 로컬에서 ssh로 password와 함께 정상 접속이 가능하다!

 

++

   ~/.ssh 디렉토리는 0700, authorized_keys 파일은 0600 퍼미션을 가지도록 해야한다.

이 권한이 높거나 낮아도, 패스워드 없이(Public Key 이용) 접속이 안될 수 있다. (무지성 777은 x)

reference

profile

만쥬의 개발일기

@KangManJoo

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!