Categories
SSH

PuTTY: SSH 키 인증 방식으로 암호 입력 없이 로그인하기

1. SSH 키 페어 생성하기

윈도우에서 PuTTY 를 실행한다.

‘PuTTY Configuration’ 창 아래쪽에 있는 Keygen 버튼을 클릭한다.

PuTTY Key Generator 창이 뜬다.

‘Type of key to generate:’ 에서 ‘SSH-2 RSA’ 를 선택한다.

Generate 버튼을 클릭한다. 프로그레스 바 (progress bar) 밑의 빈 영역에서 마우스를 움직이면 키 생성 속도가 빨라진다.

SSH 키 페어 (pair) 는 퍼블릭 키와 프라이빗 (private) 키로 구성된다. 키가 생성되면 퍼블릭 키는 창에 표시된다. 프라이빗 키는 표시되지 않는다.

‘Save public key’ 버튼을 눌러서 퍼블릭 키를 저장한다. 파일 이름은 임의로 정한다. 예를 들어 rsa-key-20221012.txt 와 같이 이름붙이면 된다.

‘Save private key’ 버튼을 눌러서 프라이빗 (private) 키를 저장한다. 파일 이름은 임의로 정하면 된다. 확장자는 ppk 이다.

‘PuTTY Key Generator’ 창을 닫는다.

2. 프라이빗 키 불러오기

‘PuTTY Configuration’ 창 아래쪽에 있는 Agent 버튼을 클릭한다.

‘Pageant Key List’ 창 아래쪽에 있는 ‘Add Key’ 버튼을 클릭한다. 앞에서 저장해 둔 프라이빗 키 파일을 찾아 선택한다.

‘Pageant Key List’ 창을 닫고 PuTTY 를 종료한다.

3. SSH 서버에 퍼블릭 키 등록하기

SSH 서버가 동작하는 컴퓨터에서 ~/.ssh 디렉토리를 생성한다.

mkdir ~/.ssh

디렉토리의 퍼미션을 아래와 같이 변경한다.

chmod 700 ~/.ssh

이 디렉토리 안에 authorized_keys 라는 파일을 생성한다.

vi ~/.ssh/authorized_keys

클라이언트 컴퓨터에서 PuTTY 를 실행한다.

‘PuTTY Configuration’ 창 아래쪽에 있는 Agent 버튼을 클릭한다.

‘Pageant Key List’ 창 아래쪽에 있는 ‘Copy OpenSSH public keys’ 버튼을 클릭한다. 그러면 퍼블릭 키의 내용이 윈도우의 클립보드에 복사된다.

복사한 내용을 ~/.ssh/authorized_keys 파일에 붙여넣는다. 키의 내용이 1줄로 이루어졌는지 확인한다.

다음은 퍼블릭 키의 예이다.

ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAroIMQaJALdkNzNEbCNGXQ14Dv4fXDFo6DEPWK7xUHR2FOLzPkDnSvNyjWYGu5w6RQdoWK6Od6DSmk95mSoF3wf3c1ps9XrMetix7mnkCHZl2V2QZIYAIVpohV45aLrvboILejN7UgNHnGTY+D5tymcalCnebl0mWWvFuOzuaeok+KlLko40QfJAmFuE/O6Jhn56c39Th+anSSw//2h52S3w212ES4mCnohAfqQpBCo6/pXqyTvgXZorX6Y4hCOC+Zcj/tTxVhUhcqlDELASSPWlzfhSRkm1OVqcOWba9r23Cr8TUrsnf5V2dj3IYE7nE32efJXU3mu99xZytM6g7NQ== rsa-key-20221013

~/.ssh/authorized_keys 파일을 저장하고 편집기를 닫는다.

4. 테스트

클라이언트 컴퓨터에서 PuTTY 를 통해 SSH 서버에 접속해 본다. 암호를 입력하는 과정을 거치지 않고 로그인되면 성공이다.

Leave a Reply

Your email address will not be published. Required fields are marked *