SSH
SSH(Secure Shell)는 원격 호스트 컴퓨터에 접속하기 위해 사용되는 인터넷 프로토콜을 의미한다. 기존의 유닉스 시스템 쉘에 원격 접속하기 위해 사용하던 Telnet, Rlogin, RSH는 데이터 전송시 암호화가 이루어지지 않아서 스니핑을 통해 데이터가 노출되기 쉬운 문제점을 가지고 있었다. SSH 프로토콜은 안전한 원격 접속과 보호되지 않은 네트워크에서 안전한 네트워크 서비스를 제공하기 위해 암호화를 사용함으로써 이전의 문제점을 해결 하였다.
SSH 프로토콜은 클라이언트-서버 모델로 동작하며 대칭키 방식, 비대칭키 방식, 해시 알고리즘을 사용하여 인증 및 암호화를 수행한다.
- 대칭키 방식 : 동일 키값으로 암호화와 복호화를 하는 방식, 클라이언트-서버 간 전체 연결을 암호화에 사용
- 비대칭키 방식 : 암호화와 복호화를 서로 다른키로 사용하는 방식, 키 교환, 클라이언트 인증, 서버 인증에 사용
- 해시 알고리즘 : 패킷의 무결성을 확인하기 위해 사용(HMAC : Hash based Message Authenticated Codes)
SSH을 사용하기 위해서는, SSH을 설치하여야 하며 기본포트는 22번 포트를 사용한다.
맥에서는 SSH을 기본으로 제공하고 있으며 사용 방법은 아래와 같다.
ssh [사용자 계정]@[원격지 ip]
추가적으로 명령어에서 아래 옵션을 제공 하고 있다.
-a | 인증 에이전트 전송을 불허 |
-e | 세션에 대한 이스케이프 문자를 설정 |
-f | 인증과 전송이 설정된 후에 백그라운드에서 ssh를 설정 |
-l | 원격 시스템에 사용할 로그인 이름을 설정 |
-p | 원격 호스트에 연결할 포트를 지정 |
-v | 디버깅모드 자세한 정보 표시 모드를 활성 |
-x | X11 전송을 불가능하게 설정 |
-L | 지정된 원격 호스트와 포트에 전송할 로컬 포트 설정 |
-R | 로컬 호스트와 지정된 포트로 전송될 원격 포트 설정 |
'Computer Theory > Web' 카테고리의 다른 글
RDB와 NOSQL DB (0) | 2023.12.09 |
---|---|
브라우저 작동 방식 (0) | 2023.12.09 |
HTTP 와 HTTP Request/Response 구조 (0) | 2023.12.09 |
인터넷의 역사와 작동방식 (0) | 2023.12.09 |
웹 인증 (쿠키, 세션, 토큰)과 JWT (0) | 2023.08.28 |