클라우드 아키텍트 양성과정
리눅스(CentOS) SSH(Secure SHell)
종바깅
2021. 5. 12. 11:19
SSH
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 서버에 저장
- 서버는 사용자의 공개키를 보유하고 있다가, 사용자 인증 요청시 키 기반 인증 사용
- 서버가 사용자의 공개키로 암호화한 데이터의 해석을 클라이언트에게 요청하므로, 클라이언트가 개인키를 가지고 있어야만 해독이 가능
- Challanger/Response방식의 인증
- ssh-keygen
SSH 관련 파일
- ~/.ssh/known_hosts
- 클라이언트에서 접속하는 서버에 대한 정보를 저장하기 위하여 사용
- known_hosts 파일에 등록되어 있지 않은 서버로 접속할 경우, 서버로부터 전달받은 공개키의 지문(Fingerprint, 해쉬값)을 출력하며, 접속할 대상 서버가 맞는지에 대한 검증을 사용자에게 요청
- 검증 시 사용자의 승인(yes)입력 시, 해당 키를 known_hosts 파일에 저장
- known_hosts 파일에 등록된 서버에 접속할 경우, 키 검증 경고가 출력되지 않음
- ~/.ssh/authorized_keys
- 키 기반인증을 하기 위하여 클라이언트가 전달한 공개키가 저장되는 파일
- 사용자가 별도 키를 지정함(/root/.ssh/authorized_keys, /home/user/.ssh/suthorized_keys 등)
- 암호화 방식 및 클라이언트가 전달한 공개키, 접속하고자 하는 사용자의 정보가 파일에 저장됨
- /etc/ssh/sshd_config
- sshd(ssh 서버 데몬)의 설정을 저장하는 파일
- sshd 프로토콜 종류, 보안 관련된 설정 들을 저장
- 키 기반인증, 관리자 로그인 허용 설정 등을 주로 사용
SSH 설정파일
- /etc/ssh/ssh_config : SSH 클라이언트(ssh 명령어) 설정
- /etc/ssh/sshd_config : SSH 서버 데몬 설정
SSH 터널링 관련 기능
- X11 forwarding : GUI 창을 실행 하도록 전달
- scp : ssh 터널링을 통해 네트워크로 파일을 복사
- sftp : ssh 터널링을 통해 ftp 기능 사용
- scp, sftp는 별도 설치가 필요하지 않음 - ssh와 함께 구성됨
- ssh만 연결 가능하면 파일 복사 가능