❕
OpenSSH_8.2p1 / 대부분의 Linux 배포판
❗
Host
⭐
CLI
개요
- 서버 간 SSH(SCP) 통신이 필요할 경우 사용한다.
- Cluster 구축 때는 필수로 사용한다.
- node to node 통신이 가능하기에 외부에서 접속이 되면 보안 상 문제가 생길 수 있다.
- 기본적으로 서버 간 접속 시 SSH 비밀번호 대신 SSH key를 제출하여 접속하는 방식으로 접근된다.
무인증 로그인
SSH key를 우선적으로 만들고 시작해야 한다.ssh-keygen이라는 패키지를 통해 진행한다.
1. ssh-keygen 사용
chobo@testvm1:~$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/chobo/.ssh/id_rsa):
Created directory '/home/nvadmin/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/chobo/.ssh/id_rsa
Your public key has been saved in /home/chobo/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:Z3fkQuch6NtkyNEAVu/jj95MhSRvQjABolXAuUA1by8 chobo@testvm1
The key's randomart image is:
+---[RSA 3072]----+
| ..o*+o.++++*. |
| .oo+ .o +.+.|
| .. .o = B..|
| .. . . @.= |
| E + + Boo|
| + . =. o|
| ..|
| =.|
| .o +|
+----[SHA256]-----+key에 대해 passphrase을 설정 할 수 있으나 외부에서 사용하는 경우 아니면, 오히려 번거러운 작업이 되기때문에 간단하게 Enter키를 통하여 패스 할 수 있다.
chobo@testvm1:~$ ll ~/.ssh
total 16
drwx------ 2 chobo chobo 4096 3월 31 17:06 ./
drwxr-xr-x 6 chobo chobo 4096 3월 31 17:06 ../
-rw-rw-r-- 1 chobo chobo 2610 3월 31 17:06 autorized_keys
-rw------- 1 chobo chobo 2610 3월 31 17:06 id_rsa
-rw-r--r-- 1 chobo chobo 577 3월 31 17:06 id_rsa.pub$HOME/.ssh안에 생성된 키들이 존재한다. autorized_keys 파일은 첫 생성일 경우에는 없을 수도 있다.
파일에 대한 설명은 다음과 같다.
id_rsa | private key, 외부에 노출될 경우 보안적으로 문제가 생긴다. |
id_rsa.pub | public key, 접속하려는 서버에 authorized_keys 안에 입력하게 되면 무인증이 가능해진다. |
authorized_keys | 키값 저장 파일, 접속 하려는 서버의 $HOME/.ssh 디렉토리 아래에 위치하면서 id_rsa.pub 키의 값을 저장한다. |
2. SSH key 등록
SSH server의 authorized_keys의 내용은 SSH client의 id_rsa.pub 내용과 일치해야 한다. SSH 접속 시에 SSH server는 id_rsa 파일과 authorized_keys이 일치하는지확인한다. 일치하지 않으면 접속이 불가능하다.
Server의 id_rsa.pub의 내용을 Client의 authorized_keys에 넣어준다.
# Server
chobo@testvm2:~$ scp ~/.ssh/id_rsa.pub chobo@192.168.4.130:~/id_rsa.pub
# Client
chobo@testvm2:~$ cat ~/id_rsa.pub >> ~/.ssh/authorized_keys3. SSH 접속
접속 시 만약 Host(/etc/hosts) 등록이 되어있다면 hostname으로 접속할 수 있다.
ssh chobo@testvm24. 권한
각 파일에 대한 권한 (파일 생성 시 기본 권한)은 다음과 같이 고정하는
것이 관리에 좋다.
chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_rsa
chmod 644 ~/.ssh/id_rsa.pub
chmod 644 ~/.ssh/authorized_keysRef.
- https://wiki.formellow.com