❑ SSH란
시큐어 셸(Secure SHell, SSH)은 네트워크 상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있도록 해 주는 응용 프로그램 또는 그 프로토콜을 가리킨다. 강력한 인증 방법 및 안전하지 못한 네트워크에서 안전하게 통신을 할 수 있는 기능을 제공한다. 기본적으로는 22번 포트를 사용한다.
SSH는 암호화 기법을 사용하기 때문에, 통신이 노출된다고 하더라도 이해할 수 없는 암호화된 문자로 보인다.
*출처: 위키피디아
- 물리적으로 다른 PC에 인터넷으로 접속해 원격으로 제어하는 원격제어를 할 때(=원격 제어 프로그램) SSH를 사용한다. Server PC에 접속하는 것도 원격제어이고, 팀뷰어 같은 소프트웨어도 원격제어 프로그램이다.
- 유닉스 계열의 OS에는 SSH가 대부분 기본적으로 설치되어 있다.
❑ 동작 과정
- Client는 사용자가 제어할 때 쓰는 PC이고 Server는 제어될 PC이다.
- Client에는 SSH Client 프로그램이 설치되어 있어야 하고, Server에는 SSH Server 프로그램이 설치되어 있어야 한다.
- Client PC에서 SSH Client 프로그램을 통해 명령어를 입력하면 아래와 같은 단계를 거쳐 Server PC를 제어하게 된다.
- 이 과정들은 Web Browser(Client side)와 Web Server(Server side)의 관계와 매우 유사하다.
❑ Mac OS에서 SSH 키 생성하고 사용하기
레퍼런스
https://xho95.github.io/macos/security/openssh/ssh/gitlab/2017/02/22/Using-SSH-on-Mac.html
시스템에 SSH가 있는지 확인
$ cd ~/.ssh
$ ls
~/.ssh 디렉토리가 없거나 해당 디렉토리에 아무런 파일이 없으면 새로 SSH 키를 만들어야 한다
SSH 키 쌍생성 명령어
$ ssh-keygen
Mac OS는 유닉스 계열이므로OpenSSH를 기본으로 포함하고 있다. 따라서 위와 같이 명령어를 입력하면 SSH 키 쌍을 생성할 수 있다.
SSH 키 쌍 생성시 터미널 Print
$ ssh-keygen
→ SSH 키 쌍 생성 명령어 입력
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/사용자명/.ssh/id_rsa): 그냥 엔터침
Created directory '/Users/사용자명/.ssh'.
→ 일반적으로 그대로 엔터를 눌러 디폴트 값을 사용함
Enter passphrase (empty for no passphrase): 그냥 엔터침
Enter same passphrase again: 그냥 엔터침
→ 보통 passphrase를 입력하지 않으나 원하면 입력한다.
Your identification has been saved in /Users/사용자명/.ssh/id_rsa
Your public key has been saved in /Users/사용자명/.ssh/id_rsa.pub
The key fingerprint is:
SHA256: 해시 알고리즘 키
The key's randomart image is:
[그림 나옴]
→ SSH 키 쌍 생성 완료
❑ Reference
유튜브 생활코딩 | SSH 개념 | https://www.youtube.com/watch?v=Bxz-1EgyA7w
SSH 키 쌍 생성 | https://xho95.github.io/macos/security/openssh/ssh/gitlab/2017/02/22/Using-SSH-on-Mac.html
'Back-End > Server' 카테고리의 다른 글
[Nginx] Nginx 환경설정 (0) | 2022.01.06 |
---|---|
[Nginx] Nginx 설치 및 구동 (Mac OS 버전) (0) | 2022.01.04 |
[AWS] EC2 Java8 설치, Timezone 변경, Hostname 변경 (0) | 2022.01.03 |
[Nginx] Nginx 설치 및 구동 (Windows 버전) (1) | 2022.01.02 |
Web Server와 WAS 이해하기 (0) | 2021.12.19 |