SSH 접속을 위한 SSH Key 만들기

VPS나 원격지 서버에 접속해서 시스템을 다룰 때 SSH를 많이 사용하게 되는데, 서버 정책에 따라서 SSH 접속시 아이디, 암호 입력 방식으로 사용자 인증을 하는 경우도 있고 SSH Key 등록 방식으로 접속을 해야하는 경우도 있습니다.

시스템 관리 업무를 하시는 분들은 잘 알고 계시겠지만 혹시 SSH Key 생성을 어떻게 하는지 모르시는 분들을 위해서 키 생성 방법을 설명합니다.

참고로 SSH Key는 비대칭 암호화에 사용되며, 서버에 전달하는 공개키(Public key)와 클라이언트에서 관리하는 비밀키(Private Key, 개인키)로 구성됩니다.

SSH 클라이언트 중 PuTTY와 Xshell에서 키 생성하는 법을 알려드립니다.

PuTTY


프로그램을 실행하고 하단의 Keygen 버튼을 클릭합니다.


하단에서 서버가 지원하는 키 종류를 선택하고 Generate 버튼을 눌러 Key를 생성합니다.


임의로 키를 생성하기 위해 사용자에게 마우스를 맘대로 움직이라고 하므로 열심히 마우스를 움직여 주면 녹색 Progress Bar가 움직이면서 키 생성이 완료됩니다.


상단에는 생성된 공개키가 표시됩니다.
비밀키를 사용할 때 마다 암호로 보호하려면 Key passphrase를 입력하고 암호를 입력하기 귀찮으면 공백으로 두셔도 됩니다. (단, 비밀키 보안에는 취약하겠죠?)
공개키는 어차피 공개되는 키이므로 상단에 표시된 키를 복사해서 사용하거나 txt파일 형태로 보관해도 무방합니다.
Save public key 버튼을 누르면 공개키를 파일로 저장할 수 있고, Save private key 버튼을 누르면 비밀키를 파일로 저장할 수 있습니다.


앞에서 저장한 비밀키를 서버 연결에 사용할 때는 PuTTY 프로그램 실행하고 연결 설정에서 Connection > SSH > Auth 메뉴의 Private key file for authentication 항목에서 저장했던 비밀키를 불러오면 됩니다.

Xshell


Xshell을 실행하고 메뉴에서 도구>사용자 키 생성 마법사를 선택합니다.


생성할 Key 종류를 선택하고 다음 버튼을 클릭합니다.


PuTTY와 달리 Xshell은 알아서 임의의 Key 쌍을 생성합니다.


키 이름을 입력하고, 비밀키를 암호화할 암호를 입력하고 다음 또는 마침 버튼을 클릭합니다.


다음 버튼을 클릭한 경우는 위와 같이 공개키를 표시하고 공개키를 파일로 저장할 수 있습니다.


마침을 누르면 위와 같이 생성한 키가 목록에 추가되며, PuTTY와 달리 Xshell이 키를 관리해 줍니다.
앞 단계에서 공개키를 따로 저장하지 않은 경우, 목록에서 키를 선택하여 더블 클릭하거나 등록 정보 버튼을 클릭하면 아래와 같이 공개키 탭에서 동일하게 공개키를 확인하고 파일로 저장할 수 있습니다.
내보내기 및 가져오기 버튼을 통해 다른 컴퓨터에서 동일한 서버에 접속할 때 사용할 수 있도록 Xshell이 관리하는 키를 내보내고 가져올 수 있습니다.
(PuTTY와 Xshell은 개인키 저장 방식이 달라 별도로 저장한 개인키 파일이 호환되지 않습니다.)




Xshell에서 Key를 사용할 때는 접속 세션 설정 팝업에서 좌측 트리의 연결>사용자 인증 항목을 선택하고, 인증 방법에 Public Key를 선택하고 사용자 키 항목은 앞에서 생성한 키 이름을 선택해 주면 됩니다. 암호로 비밀키를 보호 설정 한 경우 해당 암호를 미리 입력해두면 접속할 때마다 암호를 입력할 필요가 없습니다.


여기까지 간단하게 PuTTY와 Xshell에서 SSH Key 생성하는 법을 알아봤습니다.

댓글

이 블로그의 인기 게시물

OpenWrt 공유기에 Wireguard 설정하기

Cloudflare DNS 서비스를 통해 Let's Encrypt 인증서 발급 및 갱신 자동화하고 v2-ui에 http+tls 위장 적용하기

샤오미 공유기 3세대(Mi Router R3G)에 OpenWrt 올리기