ssh, scp 를 리눅스에서 사용하려면 비밀번호를 입력하라고 프로그램이 멈춘다.


자동화 시스템에서 이러한 점은 큰 문제점이다.


이러한 점들을 해결하기 위해 공개키 기반 인증을 사용할 수 있다.


미리 ssh 인증을 서버간에 해두면, 그 인증파일을 사용하여 비밀번호 없이 ssh나 scp 를 사용할 수 있다.


방식은


scp를 사용할 서버에서 키를 아래와 같이 생성한다.

ssh-keygen -t rsa


Enter file in which to save the key : 인증 파일을 어디에 만들지 설정(엔터시 계정 아이디/.ssh 에 파일들이 생성)

Enter passphrase : 비밀번호를 입력 안하려 하니 엔터

Enter same passphrase again : 비밀번호 확인 그냥 엔터


생성 되는 파일은 ID/.ssh 에 id_rsa, id_rsae.pub 이다.


id_rsa 는 private key.

id_rsae.pub 는 public key 이다.


키가 생성 되었으면 scp를 받을 서버에 키를 전송해야 한다.

공개 키인 id_rsa.pub 를 전송한다.


scp .ssh/id_rsa.pub ID@serverName:.ssh/authorized_keys

하고 비밀번호를 입력하면 전송이 된다.


authorized_key 말고 authorized_key2 까지 인식 된다.


ssh ID@serverName 했을 때 비밀번호를 인증하라고 메시지가 나오지 않으면 된다.



출처: https://www.kiljh.me/entry/ssh-scp-비밀번호-없이-실행공개키-기반-인증 [Dominic Blog]