SSH 공개키 인증
암호화
1. 대칭키 암호화 방식 : 암호화 = 복호화
- 간단하고 쉬움
- 통신 상대방이 많아지면 그만큼 키도 많아져야 함 (관리의 문제점 발생)
- 키를 안전하게 전달 하는 방법의 문제
2. 공개키 암호화 방식 (RSA)
- 암호화 키와 복호화 키가 다름
- 한쌍의 키 : 암호화(공개키) + 복호화(개인키) (소인수 분해)
- SSH 공개키 Login
서버 : 공개키 (authorized_keys)
접속자 : 개인키 (id_rsa)
ssh-keygen
- ssh키 생성 명령어
- 형식
ssh-keygen
* 옵션
-f : 파일 지정
-b : 비트 지정
-N : 새로운 암호문구 제공
-t : 타입 지정
-C : 코멘트 지정
-m : 파일 형식 지정
scp
- ssh 원격 접속 프로토콜을 기반으로 한 파일 전송 프로토콜
- 형식
scp [옵션] [파일명] <원격지_id>@<원격지_ip>:<받을 경로>
* 옵션
-r : 디렉토리
디렉토리를 지정해 준다 따로 지정하지 않을 시 기본값 C:\Users\사용자이름/.ssh/id_rsa 로 생성된다
Passphrase는 추가로 사용할 암호이기 때문에 기본값도 없고 굳이 사용하지 않아도 된다
.ssh 디렉토리가 없을 시 디렉토리도 자동으로 생성되며 개인기 파일은 id_rsa, 공개키 파일은 id_rsa.pub으로 생성된다
아니면 옵션을 사용해서 생성되는 키의 이름, 경로, 파일 형식, 추가암호 등을 설정해서 한번에 생성해 줄 수도 있다
(이때 -N “”은 추가암호를 사용하지 않도록 공백으로 설정한 것이다)
scp 명령어로 실제 호스트 PC에서 생성한 ssh 키 중 공개키를 CentOS7에 authorized_key로 업로드 해준다
CentOS7에서 확인해 보면 파일이 잘 업로드 된 것을 확인할 수 있다
XShell에서 CentOS7로 SSH 접속을 할 때 비밀번호가 아닌 공개키 인증 방식으로 변경 후 접속을 해본다
공개키와 매칭 되는 개인키를 등록해 주면
비밀번호 없이 키 인증으로 SSH 접속을 성공한 것을 확인할 수 있다