PuTTY로 SSH 키를 생성하여 VPS에 연결하는 방법
공개 및 비공개 SSH 키의 이점
헤드리스 또는 원격 VPS가 인터넷을 통해 표시되는 경우 가능하면 암호 대신 공개 키 인증을 사용해야 합니다. SSH 키 때문입니다.
현재 OpenSSH는 Linux 및 OS X와 같은 Unix 계열 시스템의 기본 SSH 구현입니다. 키 기반
DigitalOcean VPS에 로그인하면 SSH 서버는 공개 키를 사용하여 비공개 키로만 "잠금 해제"할 수 있는 방식으로 메시지를 "잠금"합니다. 이것
키 기반 SSH 로그인
동일한 공개 키를 원하는 만큼 클라우드 서버에 저장할 수 있으며 개인 키는 서버에 로그인한 클라이언트에 저장됩니다. 그런 다음 할 수 있습니다.
새로운 액적 생성 자동화
SSH 키가 제공할 수 있는 또 다른 유용한 용도는 DigitalOcean 방울을 생성하는 것입니다. 아시다시피 물방울을 돌리면 이메일을 기다려야 합니다.
- 먼저 이 자습서에서 PuTTY와 함께 사용할 OpenSSH 호환 키 생성 섹션을 완료합니다.
- 그런 다음 DigitalOcean Droplets에서 SSH 키를 사용하는 방법
전제 조건
이 튜토리얼은 귀하가
PuTTY 키 생성기(일명 PuTTYgen)
PuTTY는 SSH용 클라이언트 프로그램(Telnet 및 Rlogin에 추가됨)이지만 OpenSSH의 포트 또는 기반이 아닙니다. 따라서 PuTTY에는
PuTTYgen은 (무료) 오픈 소스 유틸리티이며
PuTTY와 함께 사용할 OpenSSH 호환 키 생성
PuTTYgen으로 RSA 키 세트를 생성하려면:
- .exe 파일을 두 번 클릭하여 PuTTYgen 유틸리티를 시작합니다.
- 생성할 키 유형으로 RSA를 선택합니다.
- 생성된 키 필드의 비트 수에서 2048 또는 4096을 지정합니다(비트를 늘리면\n무차별 대입 방법으로 키 크랙)
- 생성 버튼을 클릭합니다.
- 진행률 표시줄 아래에 있는 키 섹션의 빈 영역에서 마우스 포인터를 이동하여 진행률 표시줄이 나타날 때까지 임의성을 생성합니다.\n가득 찼습니다.
- 이제 개인/공용 키 쌍이 생성되었습니다.
- 주요 설명 필드에 원하는 무엇이든 설명을 입력하면 나중에 이 키 쌍을 식별하는 데 도움이 됩니다(예: 이메일 주소, 집, 사무실 등).\n-- 키 주석은 둘 이상의 키 쌍을 생성하게 되는 경우에 특히 유용합니다.
- 선택사항: Key passphrase 필드에 암호를 입력하고 Confirm passphrase 필드에 동일한 암호를 다시 입력합니다(경우에 따라\n자동화된 프로세스에 키를 사용하고 싶지만 암호를 생성해서는 안 됩니다).
- 공개 키 저장 버튼을 클릭하고 원하는 파일 이름을 선택합니다(일부 사용자는 컴퓨터에 my_keys라는 폴더를 만듭니다).
- 개인 키 저장 버튼을 클릭하고 원하는 파일 이름을 선택합니다(공개 키와 동일한 위치에 저장할 수 있지만\n당신만이 접근할 수 있고 당신이 잃지 않을 위치! 키를 분실하고 사용자 이름/암호 로그인을 비활성화한 경우 더 이상 로그인할 수 없습니다!);
- OpenSSH authorized_keys 파일에 붙여넣기 위한 공개 키 텍스트 필드를 마우스 오른쪽 버튼으로 클릭하고 모두 선택을 선택합니다.
- 동일한 텍스트 필드를 다시 마우스 오른쪽 버튼으로 클릭하고 복사를 선택합니다.
참고: PuTTY와 OpenSSH는 공개 SSH 키에 다른 형식을 사용합니다. 복사한 SSH 키가 "---- BEGIN SSH2 PUBLIC으로 시작하는 경우
공개 키를 서버에 저장
이제 복사한 공개 키를 서버의 ~/.ssh/authorized_keys 파일에 붙여넣어야 합니다.
- Log in to your destination server; see How to Log Into Your Droplet with PuTTY (for windows users)
- If your SSH folder does not yet exist, create it manually:
- Paste the SSH public key into your ~/.ssh/authorized_keys file (see Installing and Using the Vim Text Editor on an Cloud Server):
- Tap the
i
key on your keyboard & right-click your mouse to paste. - To save, tap the following keys on your keyboard (in this order):
Esc
,:
,w
,q
,Enter
.
mkdir ~/.ssh chmod 0700 ~/.ssh touch ~/.ssh/authorized_keys chmod 0644 ~/.ssh/authorized_keys
sudo vim ~/.ssh/authorized_keys
서버 설정을 저장하기 위한 PuTTY 프로필 생성
PuTTY에서는 다양한 SSH 서버에 연결하기 위한 프로필을 생성(및 저장)할 수 있으므로 중복 정보를 기억하고 계속해서 다시 입력할 필요가 없습니다.
- 실행 파일을 두 번 클릭하여 PuTTY를 시작합니다.
- PuTTY의 초기 창은 세션 범주입니다(창 왼쪽을 따라 PuTTY의 다양한 범주 탐색).
- 호스트 이름 필드에 VPS의 IP 주소 또는 정규화된 도메인 이름(FQDN)을 입력합니다. 참조 DigitalOcean으로 호스트 이름을 설정하는 방법
- 포트 필드에 포트 번호를 입력합니다(보안 강화를 위해 서버 SSH 포트를 비표준 포트로 변경하는 것이 좋습니다. 참조
이제 계속해서 user@1.2.3.4로 로그인할 수 있으며 암호를 묻는 메시지가 표시되지 않습니다. 그러나 공개 키에 암호를 설정한 경우 해당 시점에(그리고 앞으로는 로그인할 때마다) 암호를 입력하라는 메시지가 표시됩니다.
사용자 이름/암호 로그인 비활성화
키 기반 로그인이 작동하는지 확인한 후에는 더 나은 보안을 위해 사용자 이름/암호 로그인을 비활성화하도록 선택할 수 있습니다. 이렇게 하려면 다음을 수행해야 합니다.
sudo vim /etc/ssh/sshd_config
키보드에서
i
키를 누르고 아래 참조된 줄을 편집합니다.[...] PasswordAuthentication no [...] UsePAM no [...]
저장하려면 키보드에서
Esc
,:
,w
,q
키를 순서대로 누릅니다. ,입력
. 이제 새로고침sudo reload ssh
추가 리소스
- SSH 키 설정 방법 | 디지털오션;
- Ubuntu 12.04에서 fail2ban으로 SSH를 보호하는 방법 | 디지털오션;
- 2단계 인증으로 SSH를 보호하는 방법 | 디지털오션;
- SSH를 통해 Rsync로 파일을 복사하는 방법 | 디지털오션;
- 공개 키 암호화 | 위키백과
- PuTTY FAQ | 사이먼 테담.
항상 그렇듯이 이 HowTo의 단계에 대한 도움이 필요하면 아래에 질문을 올려 DigitalOcean 커뮤니티에서 도움을 받으세요.