SSH(Secure Shell Protocol)란?
컴퓨터가 원격 시스템에 안전하게 접속하고 관리할 수 있도록 하는 보안 프로토콜
OpenSSH 설치 확인
ssh -V
SSH Keypair는 public key와 private key로 이루어짐(비대칭키.서로 다른 두개의 키란 의미)
서버/클라이언트 모두 SSH Keypair를 가지고 있음(형태는 다름)
SSH 접속과정

출처 ssh.com
클라이언트가 SSH 서버에 접속을 시도
서버는 클라이언트에게 자신의 공개 키 제공
클라이언트는 서버로부터 받은 공개키가 로컬에 저장된 공개키와 같은지 검증하며 올바른 서버 판단
클라이언트는 서버의 신원이 확인되면 접속을 계속함.
3-2. 클라이언트 인증(서버에 대한 올바른 접근 권한을 가지고 있는지)
클라이언트는 자신의 개인 키를 사용하여 서버에 대한 접속 요청을 암호화함
암호화된 접속 요청은 서버로 전송.
서버는 클라이언트의 접속 요청을 받고, 클라이언트의 공개 키를 사용하여 해당 요청을 해독
서버는 클라이언트의 공개 키를 사용하여 해당 요청이 유효한지 확인합니다.
유효한 경우, 서버는 클라이언트에 대한 접속을 승인하고 클라이언트와의 안전한 통신이 시작됩니다.
Terminal > ssh-keygen -t rsa -b 2048 -C "suyeon@example.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/suyeon/.ssh/id_rsa): {directory}/{file_name}
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in {directory}/{file_name}
Your public key has been saved in {directory}/{file_name}.pub
The key fingerprint is:
SHA256: xxxxxxxxxxxxxxxxxx suyeon@example.com
The key's randomart image is:
+---[RSA 2048]----+
| E+ |
| +..o|
| . . o.*. |
| . o + B+o.|
| o S o oo*o |
| + * . o+o |
| . . * . oo |
| o.o = = + |
| o=.=o+ =o |
+----[SHA256]-----+