# Pem 키 파일 권한 변경 해결하기

***

## 오류: 보호되지 않는 프라이빗 키 파일 <a href="#troubleshoot-unprotected-key" id="troubleshoot-unprotected-key"></a>

프라이빗 키 파일은 다른 사용자의 접근으로부터 반드시 보호해야 합니다. 만약 프라이빗 키가 본인 이외의 사용자가 읽거나 쓸 수 있는 경우, SSH는 해당 키를 무시하고 다음과 같은 경고 메시지를 표시합니다.

```
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0777 for '.ssh/my_private_key.pem' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: .ssh/my_private_key.pem
Permission denied (publickey).
```

이와 같은 메시지가 표시되면, 오류 메시지의 첫 줄을 확인하여 인스턴스에 올바른 퍼블릭 키를 사용하고 있는지 점검해야 합니다.&#x20;

위 예시에서 프라이빗 키 파일 .ssh/my\_private\_key.pem의 권한이 0777로 설정되어 있어, 모든 사용자가 이 파일에 접근할 수 있습니다. 이러한 권한은 전혀 보호되지 않는 상태이며, SSH에서는 이 키를 무시합니다.

사용자 OS에 따른 연결 방법을 아래에서 확인하세요.

***

### \[MacOS에서 Linux 인스턴스에 연결하기]

이 오류를 해결하려면, macOS 또는 Linux에서 다음 명령어를 실행하여 프라이빗 키 파일의 권한을 수정하세요

```
$ chmod 0400 [pem키 경로]
```

***

### \[Windows에서 Linux 인스턴스에 연결하기 - UI]

### 1. pem 파일 설정하기

* .pem 파일이 저장된 위치로 이동합니다.
* .pem 파일을 마우스 오른쪽 버튼으로 클릭하고 **\[속성(Properties)]**&#xC744; 선택합니다.
* **보안 탭**으로 이동합니다.
* **\[고급(Advanced)]**&#xC744; 클릭합니다.

### 2. 파일 소유자 확인 및 변경하기

* 파일의 소유자가 본인이 아닐 경우, 소유자를 사용자 이름으로 변경합니다.
* **\[상속 비활성화(Disable inheritance)]** 및 **\[이 객체에서 상속된 모든 권한 제거(Remove all inherited permissions from this object)]**&#xB97C; 선택합니다.

### 3.사용자 권한 추가하기

* **\[추가(Add)]**&#xB97C; 클릭한 후, **\[보안 주체 선택(Select a principal)]**&#xC744; 선택합니다.
* 사용자 이름을 입력하고 **\[확인(OK)]**&#xC744; 클릭합니다.
* **\[권한 항목(Permission Entry)]** 창에서 **\[읽기(Read)]** 권한을 부여하고 **\[확인(OK)]**&#xC744; 클릭합니다.

### 4.변경 사항 적용하기

* **\[적용(Apply)]**&#xC744; 클릭하여 모든 설정을 저장합니다.
* **\[확인(OK)]**&#xC744; 선택하여 **\[고급 보안 설정(Advanced Security Settings)]** 창을 닫습니다.
* **\[확인(OK)]**&#xC744; 선택하여 **\[속성(Properties)]** 창을 닫습니다.

***

### \[Windows에서 Linux 인스턴스에 연결하기 - 명령 프롬프트]

### 1.명령 프롬프트에서 SSH 연결 준비하기

* Windows 명령 프롬프트를 열고, .pem 파일의 경로로 이동합니다.
* 다음 명령어를 실행하여 명시적 사용 권한을 재설정합니다:

```
icacls.exe [pem키 경로] /reset
```

### **2.현재 사용자에게 읽기 권한 부여하기**

* 다음 명령어를 실행하여 현재 사용자에게 읽기 권한을 부여합니다:

```
icacls.exe [pem키 경로] /GRANT:R "$($env:USERNAME):(R)"
```

### **3.상속 비활성화 및 상속된 권한 제거하기**

* 다음 명령어를 실행하여 상속을 비활성화하고 상속된 사용 권한을 제거합니다:

```
icacls.exe [pem키 경로] /inheritance:r
```

이 단계를 따르면 Windows에서 SSH를 통해 Linux 인스턴스에 안전하게 연결할 수 있습니다.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://runyourai.gitbook.io/userguide/tutorial/pem.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
