본문 바로가기

🌅 리눅스/SSH 접속도구 & SSH

SSH 접속을 위한 Key pair 생성하기

- CI/CD를 위해 Jenkins에서 Deployment서버로의 접근이 필요하다. 이때 바로 Jenkins 애플리케이션에 Deployment 서버의 Key 정보를 등록해줘야 접근이 가능하다.

- 그래서 오늘은 Deployment 서버로 접속을 위한 SSH 키 값을 생성하는 방법에 대해서 알아보자.

- 일단 key 를 생성하는것은 매우 간단하다. 아래의 명령어만 입력하면 키가 생성이 된다.

ssh-keygen -t rsa -b 2048 -C "<comment>" -f <output_keyfile>

- 실제 입력하여 받은 결과값은 아래와 같다.

deplpyment-server@deplpymentserver-Virtual-Machine:~$ ssh-keygen -t rsa -b 2048 -C "<comment>" -f key-01
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in key-01
Your public key has been saved in key-01.pub
The key fingerprint is:
SHA256:--------------생략-------------- <comment>
The key's randomart image is:
+---[RSA 2048]----+
|              BB+|
|              .OO|
|             .=@*|
|          . ..B+*|# 일부 생략
+----[SHA256]-----+

- 그리고 파일 리스트를 확인해보면 key-01 이라는 파일이 생성된것을 확인 할 수 있다.

deplpyment-server@deplpymentserver-Virtual-Machine:~$ ll
합계 76
drwxr-xr-x 14 deplpyment-server deplpyment-server 4096 11월 22 20:17 ./
drwxr-xr-x  3 root              root              4096 11월 21 16:46 ../
-rw-r--r--  1 deplpyment-server deplpyment-server  220 11월 21 16:46 .bash_logout
-rw-r--r--  1 deplpyment-server deplpyment-server 3771 11월 21 16:46 .bashrc
drwxr-xr-x 11 deplpyment-server deplpyment-server 4096 11월 21 17:28 .cache/
drwx------ 10 deplpyment-server deplpyment-server 4096 11월 21 17:16 .config/
drwx------  3 deplpyment-server deplpyment-server 4096 11월 21 17:15 .gnupg/
drwxr-xr-x  3 deplpyment-server deplpyment-server 4096 11월 21 17:15 .local/
-rw-r--r--  1 deplpyment-server deplpyment-server  807 11월 21 16:46 .profile
-rw-r--r--  1 deplpyment-server deplpyment-server    0 11월 21 17:21 .sudo_as_admin_successful
-rw-------  1 deplpyment-server deplpyment-server 1811 11월 22 20:17 key-01
-rw-r--r--  1 deplpyment-server deplpyment-server  391 11월 22 20:17 key-01.pub

- 파일을 확인해보면 키값이 생성된것을 확인 할 수 있다.

deplpyment-server@deplpymentserver-Virtual-Machine:~$ cat key-01
-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABFwAAAAdzc2gtcn
NhAAAAAwEAAQAAAQEAzEemdBxK+9YLfKh6urDkHVrpd4tputALCMzdoGHbEMo4LmUh/YQX
B50iX/DBFL4x+2IIzQphnh4wN+92UWwSqszwFn9/XboFDkcK4PFBfkxh0ffW+aMIM/YfdW
LMjQRzBlhZUl1xucz3JTLXGuys8JFo/C+8d4rsY6dhOYNHZbNfn2OCnVM6I1zH17P+DuoP
+OoTZHUFEWMFIKvJ9u11FFOvHbyoNVkLc1OeE/Nc7kFkRZrL5DAZzuXcv+KgW2pwyWXq/j
FZJUTyX8Gjo0hsGhfP8PIJcwgu8iQJ1Z7UoprkE7obkLTlVk+UxkbotZ/xPUZfuTPDclZI
kyUDjdx0pQAAA8AOarpbDmq6WwAAAAdzc2gtcnNhAAABAQDMR6Z0HEr71gt8qHq6sOQdWu
---일부 생략---
-----END OPENSSH PRIVATE KEY-----

- 위의 생성된 값을 Jenkins이나 다른 애플리케이션에 등록을 해주면 애플리케이션에서 접속이 가능하다.

- CI/CD 구현을 위해 Jenkins을 활용한 자동 빌드환경을 만들어보자.

- 끝 -