본문 바로가기
IT/Linux

SSH

by 혁클 2021. 4. 13.

SSH (Secure Shell)

  • 암호화 적용
  • ssh 연결 방법 : ssh [사용자 ID@]<대상 서버의 주소>

 

SSH 서버의 암호화 관련 파일

  • /etc/ssh/*key, /etc/ssh/*key.pub : 암호화 관련 공개키/개인키 파일

 

SSH Key

  • 사용자가 암호 기반의 인증 대신 키 기반의 인증 사용 가능
  • 사용자 암호 키 생성

# ssh-keygen

  • 키 위치 지정 (기본값 : 사용자 홈/.ssh/id_rsa)
  • 개인키/공개키 쌍으로 생성됨 : id_rsa(개인키), id_rsa.pub(공개키)
  • 공개키는 노출되어도 상관없으나, 개인키는 취급에 주의 (파일 위치 및 권한)

# ssh-copy-id

  • 생성한 공개키 쌍 중 공개키를 SSH 서버에 저장
  • 서버는 사용자의 공개키를 보유하고 있다가, 사용자 인증 요청 시 키 기반 인증 사용
  • 서버가 사용자의 공개키로 암호화한 데이터의 해석을 클라이언트에게 요청하므로, 클라이언트가 개인키를 가지고 있어야만 해독이 가능
  • Challenge/Response 방식의 인증

 

SSH 관련 파일

  • ~/. ssh/known_hosts
    • 클라이언트에서 접속하는 서버에 대한 정보를 저장하기 위하여 사용
    • known_hosts 파일에 등록되어 있지 않은 서버로 접속할 경우, 서버로부터 전달받은 공개키의 지문(Fingerprint, 해쉬값)을 출력하며, 접속할 대상 서버가 맞는지에 대한 검증을 사용자에게 요청
    • 검증 시 사용자의 승인(yes) 입력 시, 해당 키를 knows_hosts 파일에 저장
    • known_hosts 파일에 등록된 서버에 접속할 경우, 키 검증 경고가 출력되지 않음
  • ~/. ssh/authorized_keys
    • 키 기반 인증을 하기 위하여 클라이언트가 전달한 공개키가 저장되는 파일
    • 사용자 별로 키를 저장함 (/root/. ssh/authorized_keys, /home/user/. ssh/authorized_keys 등)
    • 암호화 방식 및 클라이언트가 전달한 공개키, 접속하고자 하는 사용자의 정보가 파일에 저장됨
  • /etc/ssh/sshd_config
    • sshd(ssh 서버 데몬)의 설정을 저장하는 파일
    • sshd 프로토콜 종류(v1, v2), 보안 관련된 설정 등을 저장
    • 키 기반 인증, 관리자 로그인 허용 설정 등을 주로 사용

 

SSH 설정 파일

  • /etc/ssh/ssh_config : SSH 클라이언트(ssh 명령어) 설정
  • /etc/ssh/sshd_config : SSH 서버 데몬 설정

 

SSH 터널링 관련 기능

  • X11 forwarding : GUI 창을 실행하도록 전달
    • 서버의 sshd_config에서 x11 forwarding 설정 활성화
    • 클라이언트에서 접속 시 -X 옵션 포함하여 실행
  • scp : ssh 터널링을 통해 네트워크로 파일 복사
  • sftp : ssh 터널링을 통해 ftp 기능 사용
  • scp, sftp는 별도 설치가 필요하지 않음 : ssh와 함께 구성됨
  • ssh만 연결 가능하면 파일 복사 가능

*이 포스팅은 엔코아 플레이 데이터 수업 내용을 참고로 합니다.

'IT > Linux' 카테고리의 다른 글

쉘 프로그래밍의 이해  (0) 2021.04.15
파일 기반 공유 스토리지  (0) 2021.04.14
소프트웨어 패키지 관리(rpm,yum)  (0) 2021.04.10
네트워크 관리(기초,NetworkManger,호스트이름)  (0) 2021.04.08
NTP  (0) 2021.04.07

댓글