본문 바로가기
Git

SSH 사용해보기

by hyoungbin 2023. 10. 23.

 

사전 기반 지식

SSH란 뭘까?

SSH는 "Secure Shell"의 약자로, 
두 컴퓨터 사이에서 안전하게 네트워크 서비스를 사용하도록 해주는 암호화된 네트워크 프로토콜입니다.
SSH는 주로 원격으로 서버를 관리할 때 사용되며, 
안전하게 명령을 실행하거나 파일을 편집하고 이동시키는 등의 작업을 수행할 수 있습니다.

SSH의 핵심 기능은 다음과 같습니다:

1. **암호화**: SSH는 클라이언트와 서버 사이에서 전송되는 모든 데이터를 암호화하여, 
               중간에 데이터가 탈취되더라도 원래의 내용을 알아볼 수 없게 합니다.

2. **인증**: SSH는 클라이언트가 서버에 접속할 때 사용자를 인증하는 메커니즘을 제공합니다. 
             가장 일반적인 방법은 비밀번호를 이용한 인증이지만, 
             보다 안전한 퍼블릭 키 인증도 많이 사용됩니다.

3. **포트 포워딩**: SSH는 로컬 시스템의 특정 포트와 원격 시스템의 특정 포트를 
                    연결하는 터널링 기능을 제공합니다. 
                    이를 통해 안전하지 않은 네트워크를 통해 안전하게 통신할 수 있습니다.

따라서 SSH는 원격으로 서버를 관리하거나, 
안전하지 않은 네트워크 환경에서도 민감한 데이터를 안전하게 전송하는데 주로 사용됩니다.

 

 

대칭키 암호화 방식

암호화와 복호화에 같은 키를 사용하는 방식(대칭키, 공유키 또는 비밀키)

대칭키 암호화 방식은 비교적 계산 속도가 빠르다는 장점이 있지만, 키 관리가 어렵다는 단점이 있습니다.

키를 안전하게 공유하는 것이 어려울 수 있으며, 사용자 간에 안전하게 키를 분배하려면 복잡한 키 관리 시스템이 필요합니다.

 

공개키 암호화 방식(RSA)

공개키 암호화 방식, 또는 비대칭 암호화 방식은 두 개의 키를 사용하는 암호화 방식을 의미합니다.

이 두 키는 공개 키 (public key)와 개인 키 (private key)라고 부릅니다.

이 방식은 2개의 키를 사용하고 만약 A 열쇠로 암호화하면 B 열쇠로 복호화 할 수 있고 B 열쇠로 암호화 하면 A 열쇠로 복호화 할 수 있습니다.

 

이를 공개키 기반 암호화 방식이라고 하고, 그 대표적인 알고리즘을 RSA 라고 합니다. (Rivest-Shamir-Adleman)

 

공개키는 누구나 알 수 있는 키이고, 비밀키는 본인만 알고 있어야 하는 키입니다.

즉 공개키는 포털 사이트에(네이버, 카카오) 누구나 볼 수 있게 공개해도 됩니다.

 

https://git-scm.com/book/ko/v2/Git-%EC%84%9C%EB%B2%84-SSH-%EA%B3%B5%EA%B0%9C%ED%82%A4-%EB%A7%8C%EB%93%A4%EA%B8%B0

 

Git - SSH 공개키 만들기

많은 Git 서버들은 SSH 공개키로 인증한다. 공개키를 사용하려면 일단 공개키를 만들어야 한다. 공개키를 만드는 방법은 모든 운영체제가 비슷하다. 먼저 키가 있는지부터 확인하자. 사용자의 SSH

git-scm.com

B는 먼저 데이터를 A의 공개키로 데이터를 풀어 봅니다(복호화) 데이터가 정상적으로 풀린다면 A가 보낸 데이터인지 확신할 수 있습니다. 이것을 전자 서명이라고 합니다.

 

다음 B의 비밀키로 데이터가 풀린다면 안에 내용을 정상적으로 확인할 수 있습니다. 위 2가지 과정을 거치면 데이터 전송을 보다 안전하게 보낼 수 있습니다.

 

위 과정을 다시 한번 더 정리 하면
송신자는 데이터를 암호화한 뒤 전자 서명을 하여 전송하고, 수신자는 데이터 전자 서명을 확인한 뒤, 데이터를 복호화 하여 확인하다.

'Git' 카테고리의 다른 글

Git bash  (0) 2023.09.14
GitHub  (0) 2023.09.14