반응형
[AWS] AWS EC2 ssh 접속 오류 Permission denied (publickey)
들어가며
AWS에서 EC2를 생성한 후에 터미널에서 ssh를 통해 접속을 시도할때 생기는 에러에 대해서 설명하려고 합니다. 아마존에서 인스턴스를 생성하고 나면 다운로드 받을 수 있는 파일이 *.pem 파일입니다. 해당 파일은 우리의 서버로 접속을 가능하게 해주는 인증을 해주는 역할이라고 생각하시면 됩니다. 해당 파일에는 인스턴스의 private key의 내용이 담겨 있습니다. 그 만큼 보안에 중요한 파일입니다. 어디에서나 해당 키가 있어야 접근이 가능합니다. 만약 *.pem파일을 분실하면 매우 번거롭게 다시 재발급을 받아야 하기 때문에 항상 백업을 해 놓는게 중요합니다.
에러내용
ssh를 통해 -i 옵션으로 인스턴스의 private key를 파일로 인증을 하는데요. user는 계정명, host는 dns-server를 입력하시면 접속이 가능합니다. 하지만 최초 접속시에 아래 화면과 같이 에러가 발생하는데요. 에러 내용을 보면 Warning이 뜨면서 보안 관련된 문제가 발생합니다.
(It is required that your private key files are NOT accessible by others.)
$ ssh -i parasite.pem user@host
해결방법
이때 private key는 permission이 다른 그룹/ 유저로부터 접근 권한이 있어서는 안됩니다. 즉 권한을 변경해줘야 사용이 가능한데요. 해결하기 위해서는 parasite.pem파일의 권한을 변경 하면 됩니다. linux명령어인 chmod를 통해 600으로 변경해주면 접속이 가능합니다.
$ sudo chmod 600 parasite.pem
반응형