본문 바로가기

CS

[Linux] SSH

SSH (Secure Shell)

정의

네트워크를 통해 다른 컴퓨터에 안전하게 접속하고 데이터를 전송하기 위한 프로토콜 및 애플리케이션

 

SSH의 주요 특징

  • 보안
    • SSH는 암호화된 통신 채널을 설정하여 데이터의 기밀성과 무결성을 보장
    • 데이터가 네트워크를 통해 전송될 때, 암호화된 방식으로 전송
  • 인증
    • SSH는 클라이언트와 서버 간의 안전한 인증을 수행
    • 사용자는 SSH 키 페어(공개 키와 개인 키)를 생성하여 서버에 등록하고 이를 통해 인증을 수행
  • 프로토콜
    • TCP/IP 네트워크를 기반
    • 일반적으로 22번 포트를 사용하여 서비스를 제공
  • 명령어 및 사용
    • SSH 클라이언트 애플리케이션을 사용하여 원격 서버에 접속하고, 명령을 실행하거나 파일 전송 가능
    • 주요 명령어는 ssh, scp, sftp

 

SSH를 통해 로컬 컴퓨터에서 가상환경으로 접속

  1. SSH 클라이언트 실행: 로컬 컴퓨터에서 SSH 클라이언트를 실행 (cmd창에서 ssh명령어 사용)
  2. 서버 주소 지정: SSH 클라이언트에 접속하려는 서버의 IP 주소나 도메인 이름을 지정
    • ssh username@server-ip 형식으로 지정
  3. 인증: SSH 클라이언트는 서버에 접속하기 위해 사용자 이름과 인증 방법(일반적으로는 SSH 키)을 사용하여 서버에 인증을 시도
  4. 세션 설정: 인증이 성공하면 클라이언트와 서버 간에 암호화된 통신 세션이 설정되고, 이 세션을 통해 사용자는 원격 서버의 명령을 실행 및 파일 전송 가능

SSH의 활용

  • 원격 서버 관리
  • 파일 전송
  • 터널링: SSH를 사용하여 로컬 포트와 원격 포트를 연결하여 보안적인 방법으로 네트워크 서비스에 접근 가능
  • 원격 프로그래밍: 원격 서버에서 프로그래밍을 할 때, SSH를 통해 원격으로 코드를 실행하고 결과를 받아올 수 있음

'CS' 카테고리의 다른 글

DBMS, SQL, 트랜잭션  (0) 2024.08.05
Git에 대한 모든 것  (0) 2024.07.31
URL  (0) 2024.07.23
[객체지향 프로그래밍] 객체지향  (0) 2024.07.22
[컴파일러] 파싱(parsing)  (0) 2024.07.17