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 |
댓글