ssh를 사용하여 ec2접속하는 실습 중이었다.
hyun@DESKTOP-4UMAHB1:/mnt/c/Users/hyun$ ssh -i newkeypair.pem ubuntu@{ip주소}
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0555 for 'newkeypair.pem' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "newkeypair.pem": bad permissions
ubuntu@{ip주소}: Permission denied (publickey).
똑같이 입력했는데 위와 같은 메세지가 발생했다.
해석하니 newkeypair.pem에너무 많은 권한을 주었다고 한다.
hyun@DESKTOP-4UMAHB1:/mnt/c/Users/hyun/desktop/sparta/8week/aws$ ls -al
total 4
drwxrwxrwx 1 root root 4096 Nov 14 15:22 .
drwxrwxrwx 1 root root 4096 Nov 14 15:22 ..
-r-xr-xr-x 1 root root 1674 Nov 14 12:17 newkeypair.pem
실제로 확인해보니 400권한을 주었으나 555권한이 주어져있었다.
권한이 부족한가 싶어 관리자 권한으로 터미널을 열어 다시 입력보았지만 결과는 같았다.
sudo umount /mnt/c # C 드라이브를 마운트 해제
sudo mount -t drvfs C: /mnt/c -o metadata # metadata 옵션을 추가하여 마운트
ChatGpt한테 물어보자 다음과 같은 명령어를 입력하란다. 안된다.
더 찾아보니 Windows의 NTFS파티션에서는 chmod 400이 작동하지 않는다고 한다.
Linux의 아무 디렉토리로 이동한다음 거기에 pem파일을 복사한 뒤 권한을 수정해줘야 한다고 한다.
hyun@DESKTOP-4UMAHB1:/mnt/c/Users/hyun/desktop/sparta/8week/aws$ cd ~ # 최상단 디렉토리로 이동
hyun@DESKTOP-4UMAHB1:~$ cd ..
hyun@DESKTOP-4UMAHB1:/home$ cd hyun
hyun@DESKTOP-4UMAHB1:~$ mkdir aws # aws폴더 생성
hyun@DESKTOP-4UMAHB1:~$ cd aws
hyun@DESKTOP-4UMAHB1:~/aws$ cp /mnt/c/Users/hyun/desktop/newkeypair.pem newkeypair.pem # c드라이브에 있는 pem파일을 리눅스 aws폴더로 복사한다.
리눅스의 최상단 디렉토리는 home이다.
home에 aws폴더를 생성하고 거기에 pem파일을 복사하는 명령어를 날려줬다.
hyun@DESKTOP-4UMAHB1:~/aws$ chmod 400 newkeypair.pem
hyun@DESKTOP-4UMAHB1:~/aws$ ls -al
total 12
drwxr-xr-x 2 hjkim hjkim 4096 Nov 14 16:49 .
drwxr-x--- 8 hjkim hjkim 4096 Nov 14 16:44 ..
-r-------- 1 hjkim hjkim 1674 Nov 14 16:49 newkeypair.pem
리눅스 폴더 안에서 권한을 수정하자 400으로 정상 수정된 것을 확인할 수 있다.
이후 ssh -i newkeypair.pem ubuntu@{ip}를 입력하면 정상적으로 접속된다.
사실 이 과정은

aws사이트에서 connect버튼을 눌러 접속했을때랑 똑같은 과정이다.🤣
이번주에 Docker와 AWS을 학습하면서 깨달은 것은 틈틈히 리눅스 명령어 공부를 해야겠다는 생각이 들었다.