SSH
개요
Secure SHell
ssh는 보안적으로 안전하게 다른 운영체제에 접근할 수 있는 명령어이다.
과거에는 telnet이라는 프로토콜을 사용했으나, 이는 패킷이 암호화되지 않았기 때문에 위험했지만, ssh가 생기고 난 이후 비로소 안전성이 보장되기 시작했다.
다양한 용도
대표적으로 쓰이는 방법들은 다음과 같다.
- 원격 접속
- 말 그대로 외부 컴퓨터에 접속하여 터미널을 붙여 접근한다.
- 외부 컴퓨터의 특정 사용자를 기준으로 접속하여 각종 커맨드를 수행할 수 있다.
- 파일 전송
- 원격 접속이 가능하다는 시점에서 사실 모든 게 가능해지긴 한다..
- git 레포지토리를 받을 때 ssh를 통해 받는 옵션이 이것에 해당한다.
- 터널링
- 접속을 하는 과정을 터널링에 활용할 수 있다.
- 이해를 위한 간략한 예시
- 나는 A서버와 통신하고 싶지만 A서버는 방화벽으로 차단되어 있다.
- 그래서 나는 A서버와 통신할 수 있는 B서버에 터널을 뚫는다.
- 그럼 나는 B서버를 거쳐서 A서버와 통신할 수 있다.
- 더 자세한 건 밑에서 다루겠다.
원리
서버-클라이언트 구조
사용법
원격 접속
파일 전송
터널링
SSH 터널링을 참조한다.
관련 툴
워낙에 범용적으로 사용되기 때문에 명확하게 구분짓는 것은 의미가 없을 지도 모른다.
그냥 단순하게 원격 서버나 데스크톱에 접근하는 것을 편하게 할 수 있도록 도와주는 툴 정도로 이해해도 괜찮을 것 같다.
참고
- https://veneas.tistory.com/entry/Linux-리눅스-ssh-동작-방식-설치-및-사용법
- 기본 사용법이 아주 잘 정리됨