반응형
Notice
Recent Posts
Recent Comments
Link
관리 메뉴

비구름

23. Linux 개인키,공개키(ssh-keygen) 본문

공부

23. Linux 개인키,공개키(ssh-keygen)

비구름 2022. 3. 4. 23:55
반응형

목차

1. SSH Key

2. 개인키, 공개키 실습

3. 개인키, 공개키 문제풀이

1. SSH Key

1.1. SSH Key : 서버에 접속할 때 비밀번호 대신 key를 제출하는 방식

- 개인와 공개키로 구성

- 비밀번호를 노출시키지 않고 안전하게 접속 가능

 

1.2. 접속 방법

- 클라이언트에서 개인키와 공개키를 생성 (개인키는 절대 노출되어서는 안됨)

- 생성한 공개키를 서버에 전달

- 서버 접속 시 클라이언트의 개인키로 로그인

 

1.3. 클라우드 환경에서 사용하는 방식

- Instance들은 사설 IP로 구성되기 때문에 굉장히 안전 (공인 IP를 할당하면 외부에 노출되어 위험)

- HOST와 Instance 사이에 가상머신을 생성하여 Instance를 제어

- AWS에서는 Bastion Host라고 함

- Azure에서는 Jumpbox라고 함

2. 개인키, 공개키 실습

2.1. 접속하고자 하는 VM의 /root에 .ssh 디렉토리가 있는 것을 확인합니다. (.ssh 디렉토리가 없다면 # mkdir 명령어로 생성)

2.2. Host PC의 cmd 창에서 ssh-keygen 명령어로 키를 생성합니다. (Windows 10부터는 Openssh가 내장되어 있음, 비트 수가 많을수록 안전)

비트 수 : 2048, 이름 : hgjang으로 지정

2.3. 생성된 키를 확인합니다. 개인키와 공개키 key pair가 생성됨

2.4. vi편집기로 VM의 /etc/ssh/sshd_config를 open합니다.

2.5. 공개키가 어떤 방식으로 저장되어야하는지 확인합니다.

2.6. scp 명령어를 통해 생성한 공개키를 VM의 /root/.shh에 authorized.keys로 복사합니다.

2.7. 복사된 공개키를 확인합니다.

2.8. 보안을 위해 root외의 사용자들의 권한을 해제합니다.

2.9. /etc/ssh/sshd_config 파일에서 패스워드 로그인 방식을 사용하지 않도록 수정합니다.

2.10. 수정한 /etc/ssh/sshd_config 파일의 설정을 적용시킵니다.

2.11. Host PC에서 패스워드 방식으로 로그인이 불가능한 것을 확인합니다.

2.12. Host PC에서 -i 옵션으로 개인키를 통해 로그인하고, 정상적으로 로그인된 것을 확인합니다.

3. 개인키, 공개키 문제풀이

- 모든 CentOS에서 ssh key를 이용한 접속이 가능하게 설정(CentOS 개수 : 3)

- Host PC에서 VM으로 모든 ssh ket 접속 가능하게 설정

- 첫 번째 CentOS7-1에서 다른 VM으로 ssh key 접속 가능하게 설정

- 모두 동일한 공개키와 개인키를 사용해야 함

- 다른 key pair 생성하지 말고, 기존에 생성한 key pair를 사용

 

3.1. CentOS7-1에 있는 공개키를 다른 CentOS로 복사합니다.

3.2. 복사된 공개키를 확인합니다.

CentOS7-2 확인
CentOS7-3 확인

3.3. vi 편집기로 /etc/ssh/sshd_config 파일을 열어 패스워드로 로그인할 수 없도록 수정하고, systemctl로 적용시킵니다.

CentOS7-2
CentOS7-3

3.4. 생성했던 개인키를 CentOS7-1로 복사합니다.

3.5. 복사한 개인키를 root 외의 사용자는 접근할 수 없도록 설정합니다.

3.6. CentOS7-1에서 다른 CentOS로 로그인되는 것을 확인합니다.

반응형
Comments