SSH란?
SSH는 "Secure Shell"의 약자로, 컴퓨터 네트워크에서 데이터를 안전하게 전송하고, 원격 컴퓨터를 제어하기 위해 사용되는 네트워크 프로토콜이다. SSH는 두 컴퓨터 간에 안전하게 암호화된 연결을 제공하며, 이를 통해 사용자가 원격으로 컴퓨터를 제어할 수 있다.
SSH는 보통 터미널 환경에서 사용되며, 일반적으로는 클라이언트-서버 모델을 따른다. 사용자는 SSH 클라이언트 소프트웨어를 사용하여 SSH 서버에 연결한다. SSH 프로토콜은 데이터를 암호화하여 네트워크를 통해 안전하게 전송한다.
SSH가 제공하는 기능은 다음과 같다.
원격 제어 : SSH를 사용하면 원격 컴퓨터에서 명령을 실행할 수 있다. 원격 서버 관리나 유지 보수에 유용하다.
파일 전송 : SSH는 SCP(Secure Copy)나 SFTP(Secure File Transfer Protocol)와 같은 안전한 파일 전송 기능을 제공한다.
포트 포워딩: SSH는 안전하게 네트워크 서비스를 터널링하는 데 사용할 수 있다.
암호화 : SSH는 모든 데이터를 암호화하여 네트워크를 통해 안전하게 전송한다. 이는 중간자 공격(man-in-the-middle attack)을 방지하는 데 도움이 된다.
인증 : SSH는 사용자 인증을 위해 비밀번호를 사용할 수도 있고, 더 안전한 키 기반 인증을 사용할 수도 있다.
SSH를 이용한 원격 서버 접속
SSH 명령어는 명령 프롬프트(터미널)에서 사용하는 명령어다. SSH를 사용하여 원격 서버에 접속하기 위해서는 아래와 같은 명령어를 사용한다.
ssh user@192.168.1.1
여기서 [user]는 원격 서버의 사용자 이름이고, @ 다음에 는 원격 서버의 호스트 이름이나 IP 주소가 온다. 이 명령어를 실행하면, 원격 서버의 비밀번호를 입력하라는 메시지가 나타나는데, 비밀번호를 입력하면 원격 서버에 로그인하게 된다.
특정 SSH 키 파일을 사용하여 원격 서버에 접속할 때는 -i 옵션을 사용한다. 예를 들어, 'key.pem'이라는 키 파일을 사용하는 경우 다음과 같다.
ssh -i key.pem user@192.168.1.1
SCP를 이용한 파일 전송
SCP(Secure Copy)는 SSH(Secure Shell)를 이용해 네트워크 상에서 컴퓨터 간에 파일을 안전하게 복사하거나 전송하는 데 사용되는 명령어다. 아래 명령어는 file을 원격 서버에 전송하는 명령어이다.
scp -r filename user@192.168.1.1:/home/user/data
원격 서버에서 현재 컴퓨터로 파일을 전송하려면 다음과 같이 사용하면 된다.
scp -r user@192.168.1.1:/home/user/data/filename ./
여기서 -r 옵션은 디렉토리 전체를 재귀적으로 복사하는 경우에 사용한다. -i 옵션을 사용하면 특정 SSH key 파일을 사용해서 전송한다.
scp -i key.pem filename user@192.168.1.1:/home/user/
'Linux' 카테고리의 다른 글
리눅스 시스템 로그 분석/관리 (1) | 2023.06.16 |
---|---|
리눅스 파일 소유 & 허가권 (0) | 2023.05.30 |
리눅스 쉘 스크립트 (1) | 2023.05.30 |
리눅스 프로세스 관리 (0) | 2023.05.29 |
리눅스 파일 개수 및 용량 확인 (0) | 2023.04.18 |