Categories
SSH

우분투에서 키 인증 방식으로 암호 없이 SSH 서버에 접속하기

키 페어 (pair) 방식으로 SSH 서버에 접속하는 방법을 알아보자.

1. 키 페어 만들기

키 페어는 클라이언트 컴퓨터에서 만든다.

아래 명령으로 키 페어를 생성한다.

ssh-keygen

명령을 실행하면 키 페어를 저장할 파일 이름을 입력받기 위해 프롬프트가 대기한다. 아무것도 입력하지 않고 엔터 키를 누르면 기본값이 사용된다. 기본값은 ~/.ssh/id_rsa 이다.

암호를 입력받는 프롬프트가 대기한다. 암호는 선택 사항이다. 아무것도 입력하지 않고 엔터 키를 누르면 암호는 사용되지 않는다.

키 페어는 프라이빗 키와 퍼블릭 키로 구성된다. 프라이빗 키는 ~/.ssh/id_rsa 파일에 저장되고 퍼블릭 키는 ~/.ssh/id_rsa.pub 파일에 저장된다.

2. 퍼블릭 키의 전송

퍼블릭 키는 서버 컴퓨터에 저장되어야 한다. 서버 컴퓨터는 SSH 서버가 동작 중인 컴퓨터이다.

아래 명령으로 퍼블릭 키를 서버 컴퓨터로 전송한다. 이 명령은 클라이언트 컴퓨터에서 수행한다.

ssh-copy-id user1@sshserver.com

user1 은 암호를 통해 SSH 서버에 접속할 수 있는 사용자 계정이다. sshserver.com 은 서버 컴퓨터의 호스트네임이다.

명령을 실행하면 연결 작업을 계속할 것인지 묻는 프롬프트가 대기한다. yes 라고 입력한다.

서버 컴퓨터 사용자 계정의 암호를 묻는 프롬프트가 대기한다. 암호를 입력한다.

전송된 퍼블릭 키는 서버 컴퓨터의 ~/.ssh/authorized_keys 파일에 저장된다.

3. 암호 기반 인증 금지

SSH 구성 파일을 수정하여 암호 기반 인증을 금지한다. 이 작업은 서버 컴퓨터에서 수행한다.

SSH 구성 파일을 연다.

sudo vi /etc/ssh/sshd_config

PasswordAuthentication 부분을 찾아 아래와 같이 수정한다.

PasswordAuthentication no

SSH 서버를 재시작한다.

sudo systemctl restart ssh

4. 테스트

아래 명령으로 SSH 서버에 접속해 보자.

ssh user1@sshserver.com

암호를 입력하는 과정 없이 서버에 로그인된다면 성공이다.

Leave a Reply

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