개발학습기

SSH(Secure Shell)

afkorigin 2024. 12. 28. 14:23

전체 목록

프로토콜 

SCP(Secure Copy)

SSH Server

포트

세션

  • SSH란?

SSH는 네트워크를 통해 안전하게 다른 컴퓨터에 접속하거나 데이터를 주고받을 수 있도록

해주는 프로토콜이다.

 

 

  • SSH의 주요 특징

1. 보안성

 

SSH는 암호화를 사용해 데이터를 안전하게 보호한다.

 

데이터를 주고받을 때 암호화된 형태로 전송되므로 데이터를 탈취당하더라도 내용을 알 수없다.

 

2. 원격 접속

 

로컬 컴퓨터에서 원격 서버에 접속해 명령을 실행하거나 설정을 변경할 수 있다.

 

개발자와 시스템 관리자가 서버를 관리할 때 가장 많이 사용되는 방법이다.

 

 

  • SSH 사용되는 경우

1. 서버 관리

개발자가 리눅스 서버에 접속해서 환경 설정, 로그 확인, 애플리케이션 배포등을 할 때 SSH를 사용한다.

 

2. 파일 전송

SSH를 이용한 SCP(Secure Copy) 또는 SFTP(Secure File Transfer Protocol)를 통해

서버와 로컬 컴퓨터 간 파일을 안전하게 전송할 수 있다.

 

3. 보안 터널링

 

SSH를 이용해 원격 네트워크의 포트에 안전하게 접속하거나, 외부로부터 데이터를

암호화해 전송할 수 있다.

 

  • SSH의 동작방식

SSH는 클라이언트와 서버 사이에서 작동한다.

 

클라이언트: SSH를 사용하려는 사용자(예: 개발자의 로컬 컴퓨터)

서버: SSH 서버 소프트웨어가 실행 중인 원격 시스템(예: 리눅스 서버)

 

기본 동작 과정

1. 클라이언트와 서버 간 연결 시작

클라이언트가 서버에 접속을 요청하면 서버는 공개 키를 클라이언트에 제공

 

2. 암호화 세션 생성

클라이언트는 공개 키를 사용해 암호화된 정보를 서버에 전달

서버는 비밀 키를 사용해 정보를 복호화 함으로써 암호화 세션이 생성된다.

 

3. 사용자 인증

사용자는 서버에 접속하기 위해 비밀번호 또는 SSH 키를 사용해 인증

 

4. 명령 실행 또는 데이터 전송

인증 후 클라이언트는 서버에 명령을 실행하거나 데이터를 전송할 수 있다.

 

  • SSH 키란?

SSH 접속을 더 안전하게 만들기 위해 사용하는 인증 방식이다.

공개 키 (Public Key): 서버에 저장된다.

비밀 키 (Private Key): 클라이언트가 소유함

 

키쌍을 사용하면 비밀번호를 입력하지 않고도 서버에 안전하게 접속할 수 있다.

 

  • SSH를 사용해 보려면?

SSH 클라이언트 프로그램 설치

 

PowerShell을 통한 설치

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

 

설치확인

Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'

 

서비스 시작 and 설정

Start-Service sshd // 서비스 시작
Set-Service -Name sshd -StartupType Automatic // 부팅시 자동실행 설정
New-NetFirewallRule -Name "SSH" -DisplayName "OpenSSH Server" 
-Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
//window 방화벽에서 22번 포트를 허용하는 규칙을 추가

 

실행 중인지 확인

 

 

  • 정리

SSH(Secure Shell)는 네트워크를 통해 안전하게 다른 컴퓨터에 접속하거나 데이터를

주고받을 수 있도록 해주는 프로토콜이다.

 

SSH를 사용해 요청을 보내면 SSH Server에서 그 요청을 받아서 요청을 수행한다.

'개발학습기' 카테고리의 다른 글

SFTP(Secure File Transfer Protocol)  (0) 2024.12.28
SCP(Secure Copy Protocol)  (0) 2024.12.28
SSH Server  (1) 2024.12.28
프로토콜(Protocol)  (0) 2024.12.28
개발학습기 목록  (1) 2024.12.28