ubuntu ssh 접속시 비밀번호 없이 접속하는 방법

STEVELOPER·2023년 1월 12일
0

ubuntu

목록 보기
6/6

ubuntu 에서 scp 를 통해 파일을 옮길때 원격 서버 계정의 비밀번호를 입력해야하는 번거로움이 있었다.
client 에서 key 를 생성해서 접속하려는 원격 서버의 ~/.ssh/authorized_keys 에 등록해 놓는다면
이런 번거로움을 해결할 수 있으며, 보완면에서도 더 우수하다.

ubuntu 에는 ssh-keygen 이라는 기능으로 보안키를 생성할 수 있다.

ssh-keygen -t rsa

상기 명령어를 입력하면 여러 프롬프트가 나오는데 보안키 저장위치, passphrase 입력등을 설정하면 된다. 기본적으로 SSH Client 는 기본 디렉토리인 ~/.ssh 에 있는 키를 이용해서 인증을 시도 한다고 한다.
나는 passphrase 는 생략했다.

저장한 위치에 생성한 key 가 있는지 확인한다.
저장위치를 지정할 때 그냥 enter 를 입력했다면 기본 위치인
~/.ssh 에 보안키들이 위치한다.
id_rsa 와 id_rsa.pub 이 두개의 파일이 이 기능에 핵심인데,
id_rsa key 는 secret key 로, 외부에 노출되면 안되며, client 가 갖고있는다.
id_rsa.pub 은 public key 로, 접속하려는 원격 서버에 위치시켜야한다.

원격 서버에 scp 등으로 id_rsa.pub 파일을 옮겨놓는다.
이제 원격 서버의 authorized_keys 에 이 public key 를 등록할 것이다.
authorized_keys 파일은 ~/.ssh 에 위치하는데 없을 수도 있다.

cat [public key] >> ~/.ssh/authorized_keys

cat 통해 출력된 public key 내용을 authorized_keys 파일에 입력한다. 없을 경우 자동으로 생성된다.

이제 scp 를 통해 원격 서버에 파일등을 복사해 옮길 때 마다 비밀번호를 입력하지 않아도 된다.

References

profile
JavaScript, Node.js, Express, React, React Native, GraphQL, Apollo, Prisma, MySQL

0개의 댓글