늘 하듯이 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
'🛠️TOOL > 🔶AWS' 카테고리의 다른 글
[AWS] - EC2 프리티어 사용시 메모리 부족 현상 해결 (0) | 2023.11.29 |
---|---|
[AWS] - EC2에 mongoDB 설치하기 (0) | 2023.09.27 |
[AWS] EC2 인스턴스에 Spring Boot + React 배포 환경 구축하기 (0) | 2023.09.27 |
[AWS] S3 버킷 생성하고 보안 정책 설정하기 (0) | 2023.09.07 |
[AWS] - pem 파일 없이 EC2 인스턴스 SSH로접속하기 (0) | 2023.07.21 |