컬쥐네 다락방
리눅스 | SSH란? 본문
원격 접속
SSH (secure shell)
ssh 이전에는 telnet을 사용했으나 암호화가 되지 않아 평문 전송하여 내가 어떤 정보를 주고 받는지 남들이 볼 수 있었다. 이를 보완하여 나온 것이 ssh.
ssh는 비대칭키 암호화 방식과 대칭키 암호화 알고리즘을 동시에 사용한다.
대칭키 암호화 : 키 1개(비밀키)를 가지고 암호화 & 복호화를 하는 방식
비대칭키 암호화: 키 2개(개인키(프라이빗 키), 공개키(퍼블릭 키))를 가지고 개인키로 암호화한 것은 공개키로 복호화하고, 공개키로 암호화한 것은 개인키로 복호화 하는 방식
SSH 접속 과정
1. 클라이언트가 서버 접속요청
2. 서버가 클라이언트에게 공개키 전송
서버의 공개키가 클라이언트에 저장되어 있지 않으면 SSH 서버의 공개키를 저장하기 위한 메세지가 출력된다.
3. 클라이언트에서 비밀키 생성
공개키를 저장하고 난 다음 알고리즘을 사용해 암호화를 위한 비밀키를 생성한다.
4. 클라이언트가 만든 비밀키 암호화 (서버에게 받은 공개키 이용)
이 비밀키를 다시 서버의 공개키로 암호화 하여 서버에게 전달한다.
5. 클라이언트에서 서버로 비밀키 전송
6. 서버는 클라이언트가 보내준 비밀키 복호화 (서버의 개인키를 이용)
SSH를 통해 시스템에 원격 접속 할 땐 기본적으로 사용자 아이디와 패스워드를 알고 있어야한다.
키 기반 인증은 사용자의 암호를 알고 있지 않아도 원격 접속할 수 있는 방법이다. 키를 등록하려면 사용자의 패스워드를 알고 있어야한다.
키 기반 인증
ssh-keygen
=> 키 기반 인증을 위한 공개키와 개인키 생성
ssh-copy-id id@server ip address
=> 클라이언트가 생성한 공개키를 서버에 등록
PermitRootLogin
비활성화 또는 yes -> 로그인을 허가
No -> root로의 로그인은 허가 X
without-password -> 키 기반 인증만 로그인 허용
'클라우드 > 리눅스' 카테고리의 다른 글
리눅스 | DNS 란? (0) | 2022.03.08 |
---|---|
리눅스 | 방화벽 (firewall)이란? (0) | 2022.03.07 |
리눅스 | 네트워크 설정 feat. nmcli (0) | 2022.03.04 |
리눅스 | 소프트웨어 추가 / 삭제 (RPM, YUM) (0) | 2022.03.03 |
리눅스 | 부트 프로세스 (0) | 2022.03.03 |