카레맨의 소소한 블로그

NT환경에서 SSH 접속시 PEM 파일 퍼미션 에러 해결방법 본문

IT/Network

NT환경에서 SSH 접속시 PEM 파일 퍼미션 에러 해결방법

퍼킹카레맨 2022. 1. 6. 13:51

AWS인스턴스 접근시, 보안을 위해 키페어(PEM키)를 사용한다.

Xshell 이나, Putty 같은 프로그램을 사용하면 키 파일사용이 간편하여 큰 문제가 되지 않지만, GUI를 전혀 지원하지 않는 환경을 대비하면 알아두는것이 좋다고 생각한다.

Powershell, CMD 등의 환경에서 ssh를 사용하여 접근하기 위해서는 아래와 같이 명령어를 입력하여 접근하도록 하자.

ssh -i <pem키파일경로> <유저명>@<ip정보>

그런데, 다음과 같은 오류가 발생할 때가 있다.

  • 오류 1
C:\WINDOWS\system32>ssh -i c:\TEMP-MGMT.pem ec2-user@3.36.79.78
The authenticity of host '3.36.79.78 (3.36.79.78)' can't be established.
ECDSA key fingerprint is SHA256:m10hTCwz0PUel5iayx1ZJtT39pnQkQJPwnPuo2+d2K8.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '3.36.79.78' (ECDSA) to the list of known hosts.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions for 'c:\\TEMP-MGMT.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 "c:\\TEMP-MGMT.pem": bad permissions
ec2-user@3.36.79.78: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
  • 오류2
C:\WINDOWS\system32>ssh -i c:\TEMP-MGMT.pem ec2-user@3.36.79.78
Load key "c:\\TEMP-MGMT.pem": Permission denied
ec2-user@3.36.79.78: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

두 오류의 공통점은, 권한 문제에 있다는것을 알수 있다.

오류1(bad permissions) 오류2(Permission denied)

이를 해결하기 위해서는, 키 파일의 권한 수정이 필요하다.

1. 키 파일을 우클릭하여 속성에 들어가보자.

따로 권한을 부여하지 않았지만, 기본적으로 이정도의 사용자들이 부여되어 있다.

2. 우측 아래의 고급(V)을 눌러 고급 보안설정으로 들어가자.

3. 좌측 아래 [사용 권한 변경]을 누르고 그 아래 [상속 사용안함(I)]을 눌러준다.

4. 상속된 사용권한을 전부 제거해준다.

5. 좌측 아래 추가를 눌러준다.

지금은 권한이 아무고토 없어야 정상

6. 보안 주체 선택을 클릭한다.

7. 컴퓨터의 사용자를 입력하고 이름확인을 누른다.

사용자명은 로그인할때 뜨는 그것! 또는 cmd창을 띄우면 바로 알수 있다!

8. 보안주체가 설정되었음을 확인할수 있다.

다른 권한은 수정하지 말자.

9. 사용자의 권한만 부여되어있는지 확인해보자.

10. 접속되는지 확인해보자.

C:\WINDOWS\system32>ssh -i c:\TEMP-MGMT.pem ec2-user@3.36.79.78
Last login: Thu Jan  6 03:47:09 2022 from 210.123.1.71

       __|  __|_  )
       _|  (     /   Amazon Linux 2 AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-2/
[ec2-user@ip-10-0-0-151 ~]$

성공!