일상/IT

Window : PuTTYgen으로 SSH 키 생성 방법, 예제, 명령어

얇은생각 2021. 8. 24. 07:30
반응형

SSH(Secure Shell)는 클라이언트와 서버 간의 보안 연결에 사용되는 암호화 네트워크 프로토콜이다.

가장 인기 있는 두 가지 메커니즘은 암호 기반 인증과 공개 키 기반 인증이다. SSH 키를 사용하면 기존 암호 인증보다 더 안전하고 편리합니다.

PuTYgen을 사용하여 윈도우즈에서 SSH 키를 생성하는 방법을 설명합니다. 또한 SSH 키 기반 인증을 설정하고 암호를 입력하지 않고 원격 리눅스 서버에 연결하는 방법도 보여줍니다.

 

 

 

PuTTYgen 다운로드

PuTTYgen은 가장 널리 사용되는 윈도우즈 SSH 클라이언트 PuTY에 대한 SSH 키를 생성할 수 있는 오픈 소스 유틸리티입니다. 

PuTTYgen은 독립 실행형 실행 파일로 사용할 수 있으며 PuTY.msi 설치 패키지의 일부이기도 합니다. PuTTYgen이 설치되어 있지 않으면 PuTY 다운로드 페이지로 이동하여 PuTY 설치 패키지를 다운로드하십시오. 설치는 간단합니다. 설치 패키지를 두 번 클릭하고 지침을 따릅니다.

 

 

 

PuTTYgen을 사용하여 SSH 키 생성

PuTTYgen을 사용하여 윈도우즈에서 SSH 키 쌍을 생성하려면 다음 단계를 수행하십시오. 

".exe" 파일을 두 번 클릭하거나 Windows 시작 메뉴 → PuTTY(64비트) → PuTYgen으로 이동하여 PuTYgen을 시작합니다.

Window : PuTTYgen으로 SSH 키 생성 방법, 예제, 명령어 1

 

 

생성할 키 유형 블록에서 기본 RSA를 그대로 유지합니다. 생성된 키의 비트 수 필드에 기본값 2048을 남겨두면 대부분의 사용 사례에 충분합니다. 또는 4096으로 변경할 수 있습니다.

 새 키 쌍을 생성하는 프로세스를 시작하려면 "Generate" 버튼을 클릭합니다.

Window : PuTTYgen으로 SSH 키 생성 방법, 예제, 명령어 2

 

 

키 섹션의 빈 영역 위로 마우스를 이동하여 임의성을 생성하라는 메시지가 표시됩니다. 포인터를 이동하면 녹색 진행 표시줄이 앞으로 이동합니다. 이 프로세스는 몇 초 정도 걸립니다.

공개 키가 생성되면 "키" 블록에 표시됩니다.

Window : PuTTYgen으로 SSH 키 생성 방법, 예제, 명령어 3

 

 

암호를 설정하려면 "키 암호" 필드에 암호를 입력하고 "암호 확인" 필드에서 동일한 암호를 확인합니다. 암호를 사용하지 않으려면 필드를 공백으로 두십시오. 

개인 키 파일을 대화형 용도로 사용할 경우 암호를 사용하는 것이 좋습니다. 그렇지 않으면 자동 키를 생성할 때 암호 없이 키를 설정할 수 있습니다.

암호 구문은 개인 키를 무단 사용으로부터 보호하여 보안 계층을 추가합니다. 

암호가 설정되면 개인 키를 사용할 때마다 암호를 입력해야 합니다.

개인 키 저장 단추를 클릭하여 개인 키를 저장합니다. 디렉토리에서 ".ppk" 파일(PuTTY 개인 키)로 파일을 저장할 수 있지만 쉽게 찾을 수 있는 위치에 저장하는 것이 좋습니다. 개인 키 파일에 대한 설명 이름을 사용하는 것이 일반적입니다.

선택적으로 공개 키를 저장할 수도 있지만 나중에 개인 키를 로드하여 다시 생성할 수도 있습니다.

"OpenSSH authorized_keys 파일에 붙여넣기 위한 공용 키"라는 텍스트 필드를 마우스 오른쪽 버튼으로 클릭하고 "Select all"을 클릭하여 모든 문자를 선택합니다. 텍스트 편집기를 열고 문자를 붙여넣은 후 저장합니다. 전체 키를 붙여 넣어야 합니다. 개인 키를 저장한 디렉토리와 파일 확장명으로 ".txt" 또는 ".pub"와 같은 이름을 사용하여 파일을 저장하는 것이 좋습니다.

Window : PuTTYgen으로 SSH 키 생성 방법, 예제, 명령어 4

 

 

이것은 원격 리눅스 서버에 추가해야 하는 키입니다.

 

 

 

서버에 공용 키 복사

SSH 키 쌍이 생성되었으므로 다음 단계는 관리하려는 서버에 공개 키를 복사하는 것입니다. 

PuTTY 프로그램을 시작하고 원격 리눅스 서버에 로그인합니다.

사용자 SSH 디렉터리가 없는 경우 mkdir 명령을 사용하여 생성하고 올바른 사용 권한을 설정하십시오.

mkdir -p ~/.ssh
chmod 0700 ~/.ssh

 

 

텍스트 편집기를 열고 키 쌍을 생성할 때 4단계에서 복사한 공개 키를 ~/.ssh/authorized_keys 파일에 붙여넣습니다.

nano ~/.ssh/authorized_keys

 

 

전체 공개 키 텍스트는 한 줄에 있어야 합니다. 

다음 chmod 명령을 실행하여 사용자만 ~/.ssh/authorized_keys 파일을 읽고 쓸 수 있는지 확인합니다.

chmod 0600 ~/.ssh/authorized_keys

 

 

 

SSH 키를 사용하여 서버에 로그인

President는 개인 키를 메모리에 저장하는 PuTY SSH 인증 에이전트입니다. 미인대회 바이너리는 PuTTY.bulse 설치 패키지의 일부이며, Windows 시작 메뉴 → PuTY(64비트) → 미인대회로 이동하여 시작할 수 있습니다.

시스템 트레이에 아이콘이 배치됩니다. 아이콘을 두 번 클릭하면 미인대회 창이 열립니다. 

키를 로드하려면 "키 추가" 버튼을 누르면 새 파일 대화 상자가 열립니다. 개인 키 파일을 찾은 후 "열기"를 누릅니다. 암호를 설정하지 않은 경우 키가 즉시 로드됩니다. 그렇지 않으면 암호를 입력하라는 메시지가 표시됩니다.

Window : PuTTYgen으로 SSH 키 생성 방법, 예제, 명령어 5

 

 

암호를 입력하면 Partition이 개인 키를 로드합니다. 

위의 단계를 완료하면 암호를 묻지 않고 원격 서버에 로그인할 수 있습니다.

테스트하려면 새 PuTY SSH 세션을 열고 원격 서버에 로그인해 보십시오. PuTTY는 로드된 키를 사용하며, 사용자는 비밀번호를 입력하지 않고 서버에 로그인됩니다.

 

 

 

SSH 암호 인증 사용 안 함

서버에 추가 보안 계층을 추가하려면 SSH에 대한 암호 인증을 사용하지 않도록 설정할 수 있습니다.

SSH 암호 인증을 사용하지 않도록 설정하기 전에 암호 없이 서버에 로그인할 수 있으며 로그인하려는 사용자에게 sudo 권한이 있는지 확인합니다.

원격 서버에 로그인하고 SSH 구성 파일을 엽니다.

다음 지시사항을 검색하고 다음과 같이 수정합니다.

# /etc/ssh/sshd_config

PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no

 

 

작업이 완료되면 파일을 저장하고 SSH 서비스를 다시 시작합니다.

sudo systemctl restart ssh

 

 

이 시점에서 암호 기반 인증은 비활성화됩니다.

새 SSH 키 쌍을 생성하고 SSH 키 기반 인증을 설정하는 방법에 대해 배웠습니다. 동일한 키를 여러 원격 서버에 추가할 수 있습니다. 또한 SSH 암호 인증을 사용하지 않도록 설정하고 서버에 보안 계층을 추가하는 방법도 보여드렸습니다.

기본적으로 SSH는 포트 22에서 수신 대기합니다. 기본 SSH 포트를 변경하면 자동 공격의 위험이 줄어듭니다. 

반응형