서버의 기술, 웹의 경험, 디자인의 창조력, 코드의 세계

+61 2 8091 3767

질문, 의견 또는 우려 사항이 있으십니까? 당사의 전담 전문가 팀은 귀하의 의견을 듣고 도움을 드릴 준비가 되어 있습니다. 소셜 미디어, 전화, 실시간 채팅을 통해 연락해 주세요.

SSH 보안 키를 생성하여 서버에 접속하는 방법

관리하는 서버에 SSH(Secure Shell Protocol)로 접속 시, 매번 암호를 입력해 접속하는 것은 매우 번거롭기 때문에 SSH 보안 키로 접속하는 방법에 대해 알아 보겠습니다. 물론 사용하는 터미널 프로그램에 미리 입력한 암호를 통해 접속 하면 되겠지만, 여전히 서버 간 작업 또는 여러 사람이 접근하는 서버에서는 비밀번호 관리의 번거로움이 존재하며, 공용 계정일 경우 이용자에게 비밀번호를 공유해야 하기 때문에 보안 상 좋은 방법이 되지 못합니다. 그래서 SSH 접속 시 보안 키를 이용하여 관리하면 안정성, 접속 편의성 사용자 간 구분과 관리가 용이한 서버 관리를 할 수 있습니다.

보통은 서버에서 인증키를 생성하여, 클라이언트 에게 SSH 공개키를 제공하곤 합니다. 하지만 원칙적으로는 접속을 허용할 클라이언트가 SSH키를 생성하고 공개키(id_rsa.pub)를 접속할 서버에 등록(~/.ssh/authorized_keys)하는 방식을 취하는 것이 맞습니다. 그래야 각각의 클라이언트 키를 관리할 수 있고 하나의 키를 이용하여 여러 사람이 공유하는 것을 최소화 할 수 있을 것 입니다.

여러 예시를 들어 키를 생성하고 관리하는 방법에 대해 알아 보겠습니다.


예시 1. 개별 사용자가 SSH 보안 키 생성

A 서버가 있고, 사용자 1, 사용자 2, … 이 있다고 가정합니다. 각각의 사용자들은 자신의 PC에서 SSH 키를 생성하여, 서버에 공개키를 서버 관리자에게 전달 하여 등록합니다. 여기 서는 사용자가 임시 개방된 서버에 직접 등록하는 것으로 가정합니다.

MacOS 사용자를 위한 SSH 보안 키 생성

각 사용자는 자신의 PC에서 다음을 실행합니다.

ssh-keygen -t rsa -b 4096 -C "contact@techplay.blog"

ssh-kengen 명령어를 통해 ssh 키 쌍을 생성합니다. -C 옵션은 이메일이나 키에 대한 설명을 추가할 수 있습니다. 기본 저장 위치 와 파일 명을 /Users/contact/.ssh/id_rsa → /Users/contact/.ssh/id_rsa_techplay 같이 ‘개인 키’를 구분하기 위해 변경 저장 합니다. ssh 키 쌍을 생성 시 암호를 생성할 수 있는데 선택 사항으로, ‘엔터키’ 를 눌러 넘어 갈 수 있습니다.

contact@techplay ~ % ssh-keygen -t rsa -b 4096 -C "contact@techplay.blog"  
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/contact/.ssh/id_rsa): /Users/contact/.ssh/id_rsa_techplay
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /Users/contact/.ssh/id_rsa_techplay
Your public key has been saved in /Users/contact/.ssh/id_rsa_techplay.pub
The key fingerprint is:
SHA256:khCb5wu2uFhh4ZJHhMdu+3ggxnvYHoazwyAhvO/vwVQ contact@techplay.blog
The key's randomart image is:
+---[RSA 4096]----+
| o. .            |
|..o  +           |
|.oo + .E         |
|o=o. +..         |
|=o*.o.+ S        |
|+B++oo o         |
|=+B*.o.          |
| B==+ .          |
|..*+oo           |
+----[SHA256]-----+
contact@techplay ~ % 

SSH키 페어 생성시 많이 사용하는 옵션

  • -t rsa : 키 유형을 RSA로 지정.
  • -b 4096 : 키의 비트 길이를 4096으로 설정.
  • -C “your_email@example.com” : 키에 첨부할 주석으로, 이메일 주소를 사용.
  • -f ~/.ssh/my_custom_key : 키 파일의 이름과 저장 위치를 지정.

Windows 11 사용자를 위한 SSH 보안 키 생성

리눅스와 생성 방식은 같습니다.

ssh-keygen -t rsa -b 4096 -C "windows11user@company.com"
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

새로운 기능 및 개선 사항에 대 한 최신 PowerShell을 설치 하세요! https://aka.ms/PSWindows

PS C:\Users\wonho> ssh-keygen -t rsa -b 4096 -C "windows11user@company.com"
Generating public/private rsa key pair.
Enter file in which to save the key (C:\Users\wonho/.ssh/id_rsa): C:\Users\wonho/.ssh/id_rsa_win11_user
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in C:\Users\wonho/.ssh/id_rsa_win11_user
Your public key has been saved in C:\Users\wonho/.ssh/id_rsa_win11_user.pub
The key fingerprint is:
SHA256:C52RzbPNO5zJbTdjOiz7Tk/XNmlxrVPZl/eBiZOoV8g windows11user@company.com
The key's randomart image is:
+---[RSA 4096]----+
|                 |
|         +       |
|        o +      |
|       ..oo=o o =|
|      . SE.=oo =B|
|       ....o.= oX|
|       ...  O.=O*|
|        .  ..=*+=|
|           .=+.. |
+----[SHA256]-----+
PS C:\Users\wonho>

공개 키를 A 서버에 복사

MacOS 사용자 또는 리눅스 OS (Ubuntu 22.04)에서는 ssh-copy-id 명령어를 통해서 서버에 공개키를 쉽게 복사 할 수 있습니다. 단, 최초 복사 시 접속 서버의 암호 입력이 필요합니다.

ssh-copy-id -i ~/.ssh/id_rsa_techplay.pub 사용자명@A서버의IP
contact@techplay ~ % ssh-copy-id -i ~/.ssh/id_rsa_techplay.pub techplay@xxx.xxx.xxx.xxx
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/Users/contact/.ssh/id_rsa_techplay.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
techplay@xxx.xxx.xxx.xxx's password: 

Number of key(s) added:        1

Now try logging into the machine, with:   "ssh 'techplay@xxx.xxx.xxx.xxx'"
and check to make sure that only the key(s) you wanted were added.

윈도우에서는 SSH 공개키를 어떻게 복사할까요?

쉬운 방법 (직접복사)

윈도우에서는 ssh-copy-id 명령어가 없습니다. 그래서 id_rsa_techplay.pub 내용을 직접 복사 합니다. PowerShell 또는 명령 프롬프트를 통해 “Get-Content ~/.ssh/id_rsa.pub | clip” 명령어를 사용하여 클립보드에 복사할 수 있습니다. 복사한 키를 접속할 서버(원격지)의 ~/.ssh/authorized_keys 파일 내 끝에 붙여 넣기 합니다.

Get-Content ~/.ssh/id_rsa_win11_user.pub | clip
번거로운 방법 *( PowerShell 스크립트 이용)

메모장이나 즐겨 사용하는 ide tool을 이용하여 아래 스크립트를 추가 후 실행 합니다.
파일명 예시 : Copy-SSHKey.ps1 → 개선버전 보기

-ComputerName “xxx.xxx.xxx.xxx” 이 곳에 원격지 서버의 IP를 입력합니다.

$publicKey = Get-Content $env:USERPROFILE\.ssh\id_rsa_win11_user.pub
$sshSession = New-SSHSession -ComputerName "xxx.xxx.xxx.xxx" -Credential (Get-Credential)
Invoke-SSHCommand -SSHSession $sshSession -Command "echo `"$publicKey`" >> ~/.ssh/authorized_keys"
Remove-SSHSession -SSHSession $sshSession

스크립트를 실행하려면 2가지 사항이 충족 되어야 합니다. 아니면 아래와 같은 오류가 나옵니다.
“Set-ExecutionPolicy RemoteSigned” 실행하여 스크립트 실행 정책을 변경 하고,
Posh-SSH 모듈을 설치 합니다. PowerShell에서 “Install-Module -Name Posh-SSH -Force” 명령어를 사용하여 설치를 진행 합니다. * 파워쉘 실행시 관리자 권한 필요

파워쉘 스크립트 파일을 실행합니다.

.\Copy-SSHKey.ps1

예시 : 오류발생화면

PS C:\Users\wonho\Documents> .\Copy-SSHKey.ps1
.\Copy-SSHKey.ps1 : 이 시스템에서 스크립트를 실행할 수 없으므로 C:\Users\wonho\Documents\Copy-SSHKey.ps1 파일을 로드할수 없습니다. 자세한 내용은 about_Execution_Policies(https://go.microsoft.com/fwlink/?LinkID=135170)를 참조하십시오.
위치 줄:1 문자:1
+ .\Copy-SSHKey.ps1
+ ~~~~~~~~~~~~~~~~~
    + CategoryInfo          : 보안 오류: (:) [], PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess
PS C:\Users\wonho\Documents>

Posh (PowerShell SSH 프로토콜)모듈 설치 실행 명령어

Install-Module -Name Posh-SSH -Force
PS C:\Users\wonho\Documents> Install-Module -Name Posh-SSH -Force

계속하려면 NuGet 공급자가 필요합니다.
NuGet 기반 리포지토리를 조작하려면 PowerShellGet에 NuGet 공급자 버전 '2.8.5.201' 이상이 필요합니다. 'C:\Program
Files\PackageManagement\ProviderAssemblies' 또는
'C:\Users\wonho\AppData\Local\PackageManagement\ProviderAssemblies'에서 NuGet 공급자를 사용할 수 있어야 합니다. 또한
'Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force'를 실행하여 NuGet 공급자를 설치할 수 있습니다.
지금 PowerShellGet에서 NuGet 공급자를 설치하고 가져오시겠습니까?
[Y] 예(Y)  [N] 아니요(N)  [S] 일시 중단(S)  [?] 도움말 (기본값은 "Y"): Y

파워쉘 스크립트 실행 정책 변경 – 해당 명령은 PowerShell 관리자 권한이 필요합니다.

Set-ExecutionPolicy RemoteSigned
PS C:\Users\wonho\Documents> Set-ExecutionPolicy RemoteSigned

실행 규칙 변경
실행 정책은 신뢰하지 않는 스크립트로부터 사용자를 보호합니다. 실행 정책을 변경하면 about_Execution_Policies 도움말
항목(https://go.microsoft.com/fwlink/?LinkID=135170)에 설명된 보안 위험에 노출될 수 있습니다. 실행 정책을
변경하시겠습니까?
[Y] 예(Y)  [A] 모두 예(A)  [N] 아니요(N)  [L] 모두 아니요(L)  [S] 일시 중단(S)  [?] 도움말 (기본값은 "N"): Y
PS C:\Users\wonho\Documents>

Copy-SSHKey.ps1 파일이 정상적으로 실행되면 아래와 같은 화면을 볼 수 있습니다.
원격지 서버의 계정과 암호를 입력하면, ssh 공개 키가 복사 됩니다.

그림1. 파워셀 자격증명 로그인 화면 - SSH 보안 키 서버 복사
그림1. 파워셀 자격증명 로그인 화면 – SSH 보안 키 서버 복사

정상적으로 서버에 SSH 공개 키가 복사 되면 아래와 같이 출력 됩니다.

PS C:\Users\wonho\Documents> .\Copy-SSHKey.ps1

cmdlet Get-Credential(명령 파이프라인 위치 1)
다음 매개 변수에 대한 값을 제공하십시오.
Credential


Host       : xxx.xxx.xxx.xxx
Output     : {}
ExitStatus : 0

True


PS C:\Users\wonho\Documents>

SSH (Secure Shell Protocol) 접속

아래 명령어 를 이용하여 접속이 잘 되는지 테스트 합니다. 맥,윈도우와 명령은 같습니다.

ssh -i ~/.ssh/id_rsa_techplay techplay@xxx.xxx.xxx.xxx

접속 결과

contact@techplay ~ % ssh -i ~/.ssh/id_rsa_techplay techplay@xxx.xxx.xxx.xxx
Welcome to Ubuntu 22.04.3 LTS (GNU/Linux 5.15.0-88-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

 * Strictly confined Kubernetes makes edge and IoT secure. Learn how MicroK8s
   just raised the bar for easy, resilient and secure K8s cluster deployment.

   https://ubuntu.com/engage/secure-kubernetes-at-the-edge

Expanded Security Maintenance for Applications is not enabled.

6 updates can be applied immediately.
To see these additional updates run: apt list --upgradable

11 additional security updates can be applied with ESM Apps.
Learn more about enabling ESM Apps service at https://ubuntu.com/esm


You have new mail.
Last login: Tue Nov 21 17:03:22 2023 from xxx.xxx.xxx.xxx
techplay@serverA:~# 

예시 2. 서버 관리자가 개별 사용자의 SSH 보안 키를 생성하여 전달

상황이 어쩔 수 없어서 관리자가 개별 사용자의 인증키를 생성하여 전달 해야 한다면? 한두명 쯤은….😒

서버에서 SSH 보안 키 생성

SSH 키 생성

‘adduser’ 명령어로 사전에 사용자가 생성 되어 있어야 합니다.

A 서버에서 각 사용자를 위한 SSH 키 쌍을 생성, -f 옵션을 사용하여 개별 사용자의 홈 경로에 저장, -C 옵션을 통해 사용자를 구분, 키 길이는 -b 4096비트로 설정, -t 옵션을 통해 RSA 키 유형 지정

ssh-keygen -t rsa -b 4096 -C "user1@techplay.blog" -f /home/user1/.ssh/id_rsa_user1

이 과정을 각 사용자에 대해 반복합니다.

생성된 SSH 보안 키 관리

공개 키 저장

생성된 각 공개 키(id_rsa_user1.pub 등)A 서버의 각 사용자 홈의 ~/.ssh/authorized_keys 파일에 추가됩니다.

개인 키 전달

생성된 각 개인 키(id_rsa_user1 등)를 안전한 방법으로 해당 사용자에게 전달하면 됩니다. 이는 이메일, 안전한 파일 전송 서비스 등을 통해 수행될 수 있습니다. 개인 키 전달 시 보안에 유의하여 개인 키가 노출되지 않도록 합니다.

사용자 PC에서 SSH 보인 키 설정

각 사용자는 받은 개인 키를 자신의 PC의 ~/.ssh 디렉토리에 저장합니다. 윈도우 외 사용자는 필요에 따라 chmod 600 ~/.ssh/id_rsa_user1 명령어로 키 파일의 권한을 설정합니다.


예시 3. 서버 간 암호 없이 접근 방법 SSH 보안 키 생성 및 등록

서버 간 SSH 인증 키 등록은 왜 하는 걸까요?

서버 끼리 암호 없이 접근이 가능하면, 시스템 유지 보수, 자동화 백업, 원격 명령 실행, 파일 싱크, 분산 컴퓨팅, CI/CD 파이프 라인, 모니터링 및 로깅 등과 같은 여러 작업을 편하게 할 수 있게 됩니다. 이러한 작업은 시스템 관리 효율을 높이고, 작업 신뢰성 및 보안을 위해 도움이 됩니다.

A 서버에서 B 서버로 SSH 접속 (SSH 키 생성)

사전에 ‘adduser’ 명령어를 통해 작업할 계정을 생성 합니다.

A 서버에서 SSH 키 생성

A 서버에서 ssh-keygen 명령어를 사용하여 키 쌍(공개 키와 개인 키)을 생성합니다.

ssh-keygen -t rsa -b 4096


생성된 키 파일은 A 서버의 사용자 디렉터리 내 .ssh 폴더에 저장됩니다.

공개 키를 B 서버에 복사

A 서버의 공개 키(id_rsa.pub)를 B 서버의 ~/.ssh/authorized_keys 파일에 복사합니다.
이는 ssh-copy-id 명령어를 통해 수행할 수 있습니다.

ssh-copy-id 사용자명@B서버의IP

B 서버에서 A 서버로 SSH 접속 (SSH 키 생성)

사전에 ‘adduser’ 명령어를 통해 작업할 계정을 생성 합니다. A 서버 작업과 동일 합니다.

B 서버에서 SSH 키 생성

B 서버에서 ssh-keygen 명령어를 사용하여 키 쌍을 생성합니다.

ssh-keygen -t rsa -b 4096


생성된 키 파일은 B 서버의 사용자 디렉토리 내 .ssh 폴더에 저장됩니다.

공개 키를 A 서버에 복사

B 서버의 공개 키(id_rsa.pub)를 A 서버의 ~/.ssh/authorized_keys 파일에 복사합니다.
ssh-copy-id 명령어를 사용하여 이를 수행할 수 있습니다.

ssh-copy-id 사용자명@A서버의IP

차이점

키 생성 위치: A 서버에서 B 서버로 접속할 때는 A 서버에서 키를 생성하고, B 서버에서 A 서버로 접속할 때는 B 서버에서 키를 생성합니다.
공개 키 복사 대상: 각 경우에서 생성된 공개 키는 상대방 서버의 authorized_keys 파일에 복사 됩니다.
접근 권한: 각 서버의 공개 키는 상대방 서버에 복사 되므로, A 서버는 B 서버에, B 서버는 A 서버에 비밀번호 없이 접근할 수 있게 됩니다.
보안: 각 서버는 자신의 개인 키를 보유하며, 이는 절대 다른 서버와 공유되지 않습니다. 공개 키만이 상대방 서버와 공유됩니다.

SSH 키 생성 및 공유는 양방향 통신을 위한 양쪽 서버에서 수행되어야 하며, 각각의 공개 키는 상대방 서버의 authorized_keys 파일에 추가되어야 합니다. 이렇게 설정함으로써, 각 서버는 서로에게 안전하게 접근할 수 있습니다.


예시 4. PEM 보안 키 파일을 통한 접속 및 키 파일 생성

MacOS 또는 리눅스 사용자 SSH 키 PEM 생성

PC에서 터미널을 열고 ssh-keygen 명령어를 사용하여, -m PEM 옵션을 추가해서 PEM 형식으로 키를 생성합니다.

ssh-keygen -t rsa -b 4096 -m PEM

키 생성 과정에서 파일 이름을 지정하라는 프롬프트가 나타납니다. 예를 들어, id_rsa_newuser.pem과 같은 이름을 지정할 수 있습니다. 비밀번호 설정은 선택 사항입니다.

Windows 11 사용자 SSH 키 PEM 생성

ssh-keygen -t rsa -b 4096 -m PEM -C "newuser@techplay.blog" -f C:\Users\wonho\.ssh\id_rsa_newuser.pem
PS C:\Users\wonho\.ssh> ssh-keygen -t rsa -b 4096 -m PEM -C "newuser@techplay.blog" -f C:\Users\wonho\.ssh\id_rsa_newuser.pem
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in C:\Users\wonho\.ssh\id_rsa_newuser
Your public key has been saved in C:\Users\wonho\.ssh\id_rsa_newuser.pub
The key fingerprint is:
SHA256:HeIraf2Wec92Lq+St9lBifIjy8myfP7fYtFTgQWyfm0 newuser@techplay.blog
The key's randomart image is:
+---[RSA 4096]----+
|           . .+. |
|            o. . |
|        . ..    .|
|       . o..  o o|
|        S .o o E.|
|       o .  + +..|
|      + o  + + o.|
|     . ..o*.B.Bo+|
|         +*B.BBX=|
+----[SHA256]-----+
PS C:\Users\wonho\.ssh>

키 파일 확인

생성된 키 파일(id_rsa_newuser.pem와 id_rsa_newuser.pem.pub)는 지정한 위치에 저장됩니다

SSH 공개 키를 서버에 복사

생성된 공개 키를 서버의 ~/.ssh/authorized_keys 파일에 추가합니다.
ssh-copy-id 명령어를 사용하거나 수동으로 공개 키 내용을 복사할 수 있습니다.

ssh-copy-id -i ~/.ssh/id_rsa_newuser.pem.pub 사용자명@서버IP

이 과정에서 서버의 비밀번호를 입력해야 합니다.

공개 키를 서버에 복사할 때 신규 사용자를 생성했다면 .ssh폴더와 관련 파일이 없으니 생성합니다.

mkdir /home/newuser/.ssh
chmod 700 /home/newuser/.ssh
touch /home/newuser/.ssh/authorized_keys
chmod 600 /home/newuser/.ssh/authorized_keys
chown -R newuser:newuser /home/newuser/.ssh

자동화 공개 키 복사 윈도우11 파워 쉘 스크립트 개선

여러 공개키를 목록으로 출력 하여 IP를 입력 받은 대상 서버에 사용자가 선택한 SSH 공개 키만 복사할 수 있게 수정 됨

# 대상 서버의 IP 주소 요청
$serverIP = Read-Host -Prompt "Enter the IP address of the target server"

# .ssh 디렉토리 내의 모든 .pub 파일 나열
$pubFiles = Get-ChildItem $env:USERPROFILE\.ssh\*.pub

# 공개 키 파일 목록 출력 및 사용자 선택
for ($i = 0; $i -lt $pubFiles.Count; $i++) {
    Write-Host "$($i + 1): $($pubFiles[$i].Name)"
}
$selectedNumber = Read-Host -Prompt "Enter the number of the public key (e.g., 1)"
$selectedPubFile = $pubFiles[$selectedNumber - 1]

# 선택된 공개 키의 내용 불러오기
$publicKey = Get-Content $selectedPubFile.FullName

# SSH 세션 생성 및 명령 실행
$sshSession = New-SSHSession -ComputerName $serverIP -Credential (Get-Credential)

# 선택된 공개 키를 원격 서버의 authorized_keys 파일에 추가
$sshCommand = "echo `"$publicKey`" >> ~/.ssh/authorized_keys"
Invoke-SSHCommand -SSHSession $sshSession -Command $sshCommand

# SSH 세션 제거
Remove-SSHSession -SSHSession $sshSession


SSH 접속 테스트

생성된 키를 사용하여 서버에 SSH로 접속을 시도합니다.
명령어: ssh -i ~/.ssh/id_rsa_newuser.pem 사용자명@서버IP
이제 비밀번호 없이 서버에 접속할 수 있습니다.

PS C:\Users\wonho\Documents> .\Copy-SSHKey-231124.ps1
Enter the IP address of the target server: xxx.xxx.xxx.xxx
1: id_rsa_newuser.pem.pub
2: id_rsa_win11_user.pub
Enter the number of the public key (e.g., 1): 1

cmdlet Get-Credential(명령 파이프라인 위치 1)
다음 매개 변수에 대한 값을 제공하십시오.
Credential


Host       : xxx.xxx.xxx.xxx
Output     : {}
ExitStatus : 0

True


PS C:\Users\wonho\Documents> ssh -i ~/.ssh/id_rsa_newuser.pem noxwon@xxx.xxx.xxx.xxx
Welcome to Ubuntu 22.04.3 LTS (GNU/Linux 5.15.0-88-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

 * Strictly confined Kubernetes makes edge and IoT secure. Learn how MicroK8s
   just raised the bar for easy, resilient and secure K8s cluster deployment.

   https://ubuntu.com/engage/secure-kubernetes-at-the-edge

Expanded Security Maintenance for Applications is not enabled.

6 updates can be applied immediately.
To see these additional updates run: apt list --upgradable

11 additional security updates can be applied with ESM Apps.
Learn more about enabling ESM Apps service at https://ubuntu.com/esm


*** System restart required ***
Last login: Fri Nov 24 01:24:25 2023 from xxx.xxx.xxx.xxx
**************************************************************************
# This system is using the EC2 Metadata Service, but does not appear to  #
# be running on Amazon EC2 or one of cloud-init's known platforms that   #
# provide a EC2 Metadata service. In the future, cloud-init may stop     #
# reading metadata from the EC2 Metadata Service unless the platform can #
# be identified.                                                         #
#                                                                        #
# If you are seeing this message, please file a bug against              #
# cloud-init at                                                          #
#    https://bugs.launchpad.net/cloud-init/+filebug?field.tags=dsid      #
# Make sure to include the cloud provider your instance is               #
# running on.                                                            #
#                                                                        #
# For more information see                                               #
#   https://bugs.launchpad.net/bugs/1660385                              #
#                                                                        #
# After you have filed a bug, you can disable this warning by            #
# launching your instance with the cloud-config below, or                #
# putting that content into                                              #
#    /etc/cloud/cloud.cfg.d/99-ec2-datasource.cfg                        #
#                                                                        #
# #cloud-config                                                          #
# datasource:                                                            #
#  Ec2:                                                                  #
#   strict_id: false                                                     #
**************************************************************************

Disable the warnings above by:
  touch /home/newuser/.cloud-warnings.skip
or
  touch /var/lib/cloud/instance/warnings/.skip
newuser@newuser:~$

SSH 공개키를 분실하거나 삭제되었을 경우는?

개인 키를 이용하여 공개키를 생성 할 수 있습니다.

ssh-keygen을 통해 개인 키(private_key)를 이용하여 공개 키(public_key) 생성 명령어는 아래와 같다. 이 외 PuTTYgen, OpenSSL 등을 이용 하여 생성 할 수도 있습니다.

ssh-keygen -y -f private_key.pem > public_key.pub

주의 사항

보안: SSH 키는 중요한 보안 자산이므로, 안전하게 관리하고, 무단 접근으로부터 보호해야 합니다.
키 관리: 여러 SSH 키를 사용하는 경우, 키의 용도와 관련 서버를 쉽게 식별할 수 있도록 명확한 이름을 지정하는 것이 좋습니다.
권한: 생성된 ~/.ssh 디렉토리와 키 파일의 권한을 확인합니다. 일반적으로 키 파일은 사용자만이 읽고 쓸 수 있도록 설정되어야 함.

Share this article
Shareable URL
Next Post

어떻게 하면 팔로잉 마우스 커서를 적용할수 있나요?🖱️

댓글을 남겨주세요.😊

이메일 주소는 공개되지 않습니다. * 표시는 필수 입력 항목입니다.

Read next

초보자를 위한 서버 OS 리눅스 입문 안내서

초보자를 위한 이해하기 쉬운 리눅스 OS 서버 OS 리눅스 Linux®란 뭔가요? 서버 OS 리눅스는 UNIX 계열의 오픈 소스 운영 체제로, 다양한 하드웨어 플랫폼에서 동작하는 운영 체제입니다.…