[에스넷시스템 부트캠프] TIL Day 48 - OpenSSH

2025. 7. 28. 22:02·TIL
728x90
반응형

1. OpenSSH

OpenSSH는 SSH 프로토콜을 구현한 오픈소스 소프트웨어로 원격 시스템에 안전하게 접속하고 파일을 전송할 수 있게 해주는 도구이다. 

SSH는 원격 컴퓨터에 안전하게 액세스하기 위한 유닉스 기반의 명령 인터페이스 및 프로토콜로서, Secure Socket Shell이라고 불리기도 한다. 

 

1) 주요 기능

  • 원격 로그인 (ssh)
  • 원격 명령 실행
  • 파일 전송 (scp, sftp)
  • 포트 포워딩
  • 암호화된 통신 채널 제공

 

2) 구성 요소

  • ssh : 원격 시스템에 로그인
  • scp : 원격 시스템 간의 파일 복사
  • sftp : SSH 기반의 FTP
  • sshd : SSH 서버 데몬
  • ssh-keygen : 공개키/개인키 생성
  • ssh-agent : 키 관리용 에이전트
  • ssh-add : ssh-agent에 키 추가

 

3) 설정 파일

경로  설명
/etc/ssh/ssh_config 클라이언트 전역 설정
~/.ssh/config 클라이언트 사용자 설정
/etc/ssh/sshd_config 서버 설정 파일
~/.ssh/authorized_keys 클라이언트의 공개키를 저장하여 비밀번호 없이 로그인 허용
~/.ssh/known_hosts 접속했던 서버의 공개키 목록 (서버의 위조 방지)

 

4) SSH 연결 절차

  1. 클라이언트 → 서버 포트 22 접속 시도
  2. 서버 → 공개키(RSA/ED25519 등)를 포함한 초기 패킷 전송
  3. 클라이언트 → 서버의 키를 검증 : 처음 접속 시 known_hosts에 등록됨
  4. 세션 키 생성 및 서버 공개키로 암호화 → 서버에 전달
  5. 서버 → 세션 키 복호화 후 대칭키 방식 통신 시작
  6. 서버 → 사용자 인증 요청 : 비밀번호, 공개키, GSSAPI, 인증서 등
  7. 인증 완료 시 암호화된 세션 시작

 

5) 암호화 방식 및 보안 메커니즘

  • 대칭키 암호화 (세션 키)
    • 통신은 속도와 효율을 위해 대칭키 알고리즘으로 암호화됨
    • 알고리즘 예시 : AES, ChaCha20, Blowfish(구버전)
  • 비대칭키 암호화 (세션 키 전달 시 사용)
    • 공개키/개인키 방식으로 세션 키 전송 시 사용
    • 알고리즘 : RSA, ECDSA, ED25519
  • 메시지 인증 코드 (MAC)
    • 데이터의 무결성 검증 
    • 예시 : hmac-sha2-256, hmac-sha1

 

728x90
반응형

'TIL' 카테고리의 다른 글

[에스넷시스템 부트캠프] TIL Day 52 - 직무 특강 2  (2) 2025.08.01
[에스넷시스템 부트캠프] TIL Day 49~51 - 프로젝트 기획  (4) 2025.07.29
[에스넷시스템 부트캠프] TIL Day 46 - SELinux, DHCP, NFS, AutoFS  (0) 2025.07.25
[에스넷시스템 부트캠프] TIL Day 45 - 네트워크 매니저, systemctl, DNS  (0) 2025.07.23
[에스넷시스템 부트캠프] TIL Day 44 - Active Directory  (0) 2025.07.22
'TIL' 카테고리의 다른 글
  • [에스넷시스템 부트캠프] TIL Day 52 - 직무 특강 2
  • [에스넷시스템 부트캠프] TIL Day 49~51 - 프로젝트 기획
  • [에스넷시스템 부트캠프] TIL Day 46 - SELinux, DHCP, NFS, AutoFS
  • [에스넷시스템 부트캠프] TIL Day 45 - 네트워크 매니저, systemctl, DNS
yulee_to
yulee_to
  • yulee_to
    yulee
    yulee_to
  • 전체
    오늘
    어제
    • 전체 글 (170)
      • CS (2)
        • OS (0)
        • DB (0)
        • Network (2)
      • Develop (1)
        • Spring (9)
        • Java (12)
        • Python (0)
        • Algorithm (0)
        • 기타 (0)
      • PS (39)
        • C++ (39)
        • Java (0)
      • TIL (61)
      • Book (39)
        • 자바의 신 (32)
        • 스프링 입문을 위한 자바 객체 지향의 원리와 이해 (7)
      • ETC (4)
        • Blog (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    boj
    자바의 신
    클라우드 활용 네트워크 엔지니어 부트캠프
    알고리즘
    GodOfJava
    자바
    1일1백준
    에스넷시스템
    Java
    멀티캠퍼스it부트캠프
    객체지향
    에스넷시스템 부트캠프
    백준
    aws
    스터디
    스프링 입문
    부트캠프후기
    EC2
    TiL
    C++
  • 최근 댓글

  • 250x250
  • hELLO· Designed By정상우.v4.10.3
yulee_to
[에스넷시스템 부트캠프] TIL Day 48 - OpenSSH
상단으로

티스토리툴바