System/Linux

ssh key 교환

Kaget 2020. 7. 16. 14:43

클라이언트 측에서 직접 rsa 키를 만들어 서버측에 공개키를 저장하여 패스워드 없이 ssh접속을 하겠습니다.

 

1. 먼저 키쌍을 만듭니다.

id_rsa파일은 개인키 입니다.
id_rsa.pub파일은 공개키 입니다.

 

2. 공개키를 서버에 복사합니다.

 

서버에 접속을 시도하면 패스워드 입력없이 로그인 되는것을 확인할 수 있습니다.

 

서버측의 /.ssh/authorized_keys 파일에 클라이언트 측의 공개키가 저장된 것을 확인할 수 있습니다.

 

 

 

이번엔 다른 서버에 만들었던 공개키를 복사하고 윈도우에서 putty로 접속하겠습니다.

1. 먼저 대상 서버에 공개키를 복사합니다.

 

2. 리눅스에서 만들었던 개인키의 내용을 복사해 메모장에 붙여넣은 후 파일 확장자 없이 저장합니다.

3. 윈도우에서 puttygen을 실행시킵니다.

 

4. 불러오기 (load)를 클릭하고 리눅스에서 복사하여 만들었던 개인키 파일을 불러옵니다.

5. 개인키 저장을 클릭하여 사용할이름.ppk로 저장합니다.

이 과정이 필요한 이유는 리눅스형식으로 만들어져 있던 개인키를 윈도우 형식으로 변환하는 과정이며

이 과정에서 키값이 변하지는 않습니다.

 

6. putty를 실행하고 접속할 서버 세션을 불러옵니다.

7. 연결 - 데이터에서 로그인할 사용자 id를 입력합니다.

8. 5번 과정에서 만들었던 .ppk파일을 불러옵니다.

 

9. 메인화면으로 돌아가서 설정한 것을 저장 후 접속합니다.

패스워드 없이 로그인 되는것을 확인할 수 있습니다.

 

만약 root계정이 아닌 계정으로 공개키 저장 방식으로 연결한다면

authorized_keys 파일은 /.ssh/에 저장 되지 않고 /home/계정/.ssh/에 저장됩니다.

 

공개키는 ssh-copy-id를 이용하지 않고 직접 .ssh/authorized_keys파일을 만들어서 복사 후 붙여넣어 만들어도 됩니다.