ssh를 사용하면서 가장 귀찮은 것 중 하나가 비밀번호 입력이다.

 

물론 대부분의 사람들이 해킹당하면 변명의 여지조차 없는 비밀번호를 즐겨 사용하는 것은 맞지만

 

그래도 형식상으로는 입력해줘야 하니까.

 

 

다행(?)스럽게도, 바로 전 글의 ssh 서버에 닉네임 붙여 사용하는 법과 함께 적용하면

 

비밀번호 입력 없이 한 번에 ssh 접속을 할 수 있게 하는 설정 방법이 있다.

 

쉽게 말해서 연구실에 출입 카드를 찍고 드나드는 느낌인데

 

해당 출입 카드를 내 로컬 PC에 저장해 놓는다는 컨셉이다.

 

 

아래와 같은 명령어로 출입 카드를 만들 수 있다.

$ ssh-keygen -t rsa -b 2048

이는 RSA 타입의 2048비트 키를 만들겠다는 의미이다.

 

우리가 원하는 것은 보안을 희생한 일방적인 편의성이기 때문에, 뒤에 몇 가지를 물어보면 엔터로 일관해주면 된다.

 

 

해당 명령어의 실행을 마치면 .ssh 폴더 아래에 id_rsa와 id_rsa.pub라는 파일 두 개가 생긴다.

 

여기서 id_rsa.pub라는 파일이 내 신원 정보를 가지고 있고, id_rsa가 내 출입 카드라고 생각하면 된다.

 

당연히 id_rsa는 나만 가지고 있어야 한다.

 

출입 카드를 사용하려면 내 신원 정보를 서버에 등록할 필요가 있다.

 

사실 id_rsa.pub 파일은 그냥 텍스트이기 때문에

 

해당 내용을 서버의 어딘가에 잘 붙여 넣으면 등록이 완료된다.

 

하지만 이는 굉장히 번거로운 작업이기에 아래 명령어로 한 번에 처리하도록 하자.

$ ssh-copy-id [닉네임]
# 혹은,
$ ssh-copy-id -p [Port 번호] [사용자 이름]@[IP 주소 혹은 도메인]

해당 명령어를 입력하면 .

/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: - key(s) remain to be installed -- if you are prompted now it is to install the new keys

같은 내용이 나오며 비밀번호를 입력하라고 하는데,

 

이전에 서버 접속을 위해 사용하던 비밀번호를 입력하면 신원 등록이 완료된다.

 

이제

$ ssh [닉네임]

으로 비밀번호 입력마저 없이 한 번에 서버에 접속할 수 있다.

 

 

여담으로 접속한 서버에서

$ vi ~/.ssh/authorized_keys

로 파일을 열어보면, 내 id_rsa.pub의 내용이 잘 복사되어 있는 것을 확인 할 수 있다.

+ Recent posts