지금 개발하러갑니다

SSH Key란? SSH Key 사용하기 본문

서버 개발

SSH Key란? SSH Key 사용하기

jspark1215 2020. 1. 12. 23:01
SSH Key 개요 및 Key 파일 생성하기

SSH Key 개요 및 Key 파일 생성하기

개발 업무를 하면서 어느 순간 SSH를 사용해서 서버를 관리하는 것은 의식하지 못할 정도로 익숙해졌다. 그러나 최근 프로젝트 CI/CD를 구축하면서 SSH 키의 구조에 대해서 자세히 다시 공부해야할 필요성이 생겨 아래와 같이 정리해본다.

SSH Key 개요 및 Key 파일 생성하기

개발 업무를 하면서 어느 순간 SSH를 사용해서 서버를 관리하는 것은 의식하지 못할 정도로 익숙해졌다. 그러나 최근 프로젝트 CI/CD를 구축하면서 SSH 키의 구조에 대해서 자세히 다시 공부해야할 필요성이 생겨 아래와 같이 정리해본다.

SSH는 암호화된 원격 접속 프로토콜로서, SSH 프로토콜 사용에 필요한 SSH 키는
1. Private Key (Client)
2. Public Key (Server)
로 이루어진다.

위의 Private Key는 SSH로 접속하고자 하는 Client에 존재하게 되며, Public Key는 Server에 위치하게 된다.

이러한 SSH 키를 생성하기 위해서는 *ssh-keygen*이라는 툴을 사용하면 된다.(Unix 계열 기준, 윈도우는 별도의 프로그램 설치 필요)


$ ssh*-keygen* *-t* rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/axl/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
```

파일을 저장할 별도의 디렉토리를 입력하지 않으면 기본 디렉토리에 저장되게 되는데, ~/.ssh는 UNIX 계열에서 SSH 클라이언트가 서버로의 접속 시도하게 될 때 기본으로 사용하는 디렉토리다.

Passphrase 는 키의 비밀번호로, 암호화되어 키 생성에 사용된다.

~/.ssh 디렉토리의 파일들을 확인하면, 새로운 파일들이 생성된 것을 확인할 수 있다.

생성된 파일들은 다음과 같다. 
* id_rsa : Private Key file
* id_rsa.pub : Public Key file. Server의 authorized_keys에 저장된다.

서버에 업로드하여 생성한 SSH Key로 접속하기

접속할 서버에 id_rsa.pub 파일을 업로드한다.
파일을 업로드 한 다음, id_rsa.pub 파일의 내용을 authorized_key 파일에 추가해야 한다. 
다음과 같은 명령어로 진행할 수 있다.


$ cat ~/id_rsa.pub >> ~/.ssh/authorized_keys

'서버 개발' 카테고리의 다른 글

Locust로 서버 성능 테스트하기  (0) 2020.01.12
MQTT 프로토콜 - 와일드카드  (0) 2020.01.12
MQTT 프로토콜  (0) 2020.01.12
Flask-Migrate 에러  (0) 2020.01.12
Comments