.ssh 폴더에 대해서 알아보려고 한다.
ssh 통신을 하기 위해서는 서버/목적지의 pair키 ( public, private ), 클라이언트의 ( public, private ) 키가 필요하다.
해당 키들을 관리하는 곳이 .ssh 폴더이다.
known_hosts : 내가 다른 노드에 접속할 경우, 그 노드에 퍼블릭 키가 등록됨.
authorized_keys : 다른 노드가 내 서버에 접속하려고 할 때, 그 노드의 퍼블릭키가 등록됨.
id_rsa : 자신의 ssh 개인키
id_rsa.pub : 자신의 ssh 공개키
known_hosts는 자동으로 등록이 되고, authorized_keys는 직접 등록해야 해당 클라이언트가 접속이 가능해짐.
ssh 접속 과정
1. 접속 요청
2. 키 암호화 알고리즘 지정
3. 위에서 지정한 알고리즘으로 키 교환
4. 서버/목적지가 클라이언트에게 공개키 전송.
5. 클라이언트가 서버/목적지의 공개키를 이용하여 암호화한 후 메시지 전송
6. 서버는 자신의 개인키로 복호화하여 원복 메시지 전송
7. 클라이언트는 메시지가 맞는지 검증
8. 클라이언트의 공개키 전송
9. 서버/목적지가 클라이언트의 공개키를 이용하여 메시지를 암호화한 후 전송
10. 클라이언트는 개인키로 복호화한후 메시지 전달
11. 서버는 메시지가 맞는지 검증
12. 인증 완료 후 ssh세션 성립
'네트워크' 카테고리의 다른 글
nginx, blue-green 배포 (0) | 2023.07.27 |
---|---|
소켓과 HTTP (0) | 2023.02.22 |
path vector, distance vector, link state (0) | 2022.12.28 |
dhcp 동작과정 - 요약 (0) | 2022.12.27 |
DNS, Resolver (0) | 2022.09.26 |