IT/IT WIKI

[Wiki] SSH 접속 시, Key(키) 기반의 인증 방식으로 접속하기 (비밀번호 입력 없이 접속하기)

wookiist 2017. 12. 21. 13:32

SSH 접속 시, Key 기반의 인증 방식으로 접속하는 방법


이 글은 ssh 접속 시, 패스워드 없이 접속하는 방법을 소개하는 글이다.

보통 ssh로 접속하면 password를 묻는다.

그러나 패스워드 입력 없이 key 기반의 인증을 통해 접속하는 방법이 있어 소개한다.


[Host A]가 [Host B]에 접속하고자 한다고 가정하자.


1. Host A에서 "$ ssh-keygen" 명령으로 '공개 키(public key) - 개인 키(private key)' 쌍을 생성한다.


2. $ ssh-keygen 명령을 내리면 키가 저장될 경로와 passphrase를 묻는데, 보안에 신경을 써야하는 상황이 아닌 테스트 용인 경우 생략해도 무관하다.


3. 위 과정이 끝나면 ${HOME}/.ssh/ 내에 개인 키 파일인 "id_rsa"와 공개 키 파일인 "id_rsa.pub" 이 생성된다.


Host A가 가진 Key Pair는 "공개 키 - 개인 키" 쌍이다.

그리고 우리의 Host A는 자신의 "공개 키"를 Host B에 복사해둔다.


추후에 Host A가 Host B에 접속할 때, 자신임을 증명하기 위해, Host B가 보내온 공개 키와 자신의 개인 키를 통해 인증을 하게 된다.


이런 방식으로 Host A의 'id_rsa.pub' 파일을 Host B에 전송해주는 명령어가 


"$ ssh-copy-id [사용자 계정]@[Host B의 address]


이다.

반응형