ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • SSH key 사용하기
    개발 환경/Ubuntu 2020. 1. 13. 18:41
    반응형

    ssh를 통해 서버에 자주 접속하는데 비밀번호로만 보안을 하기에는 보안성이 떨어진다. 그래서 많이들 사용하는 SSH key를 사용해보았다.

    1. key 존재여부 확인

    cd ~/.ssh
    ls

    output:

    known_hosts

    아마 키가 없으면 위의 결과를 볼 수 있을 것이다.

    2. private key와 public key 생성하기

    public key는 서버에 두는 것이고 private key는 로컬에 가지고 있는 것이다. private key를 가지고 있는 로컬 사용자만이 서버의 응답을 받을 수 있다.

    ssh-keygen -t rsa -b 4096 -C "sah0322@naver.com"

    여기서 -t는 복호화 방식을 말하며 가장 많이 사용되는 rsa를 사용하였다. -b는 key를 만드는데 사용하는 비트수로 많이 쓸수록 복잡해진다. 2048이 default다. -C는 key에 주석을 달 수 있다.

    output:

    Generating public/private rsa key pair.
    Enter file in which to save the key (/Users/hanseokhyeon/.ssh/id_rsa):
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    Your identification has been saved in /Users/hanseokhyeon/.ssh/id_rsa.
    Your public key has been saved in /Users/hanseokhyeon/.ssh/id_rsa.pub.
    ...

    (1) Enter file in which to save the key (/Users/hanseokhyeon/.ssh/id_rsa):

    key가 저장되는 장소이므로 그냥 엔터를 친다.

    (2) Enter passphrase (empty for no passphrase):

    key에 비밀번호를 부여할 수 있다.

    (3) Enter same passphrase again:

    비밀번호 확인란이다. 같은 비밀번호를 다시 치자.

    3. 생성된 key 확인 및 퍼미션 설정

    ls

    output:

    id_rsa      id_rsa.pub  known_hosts

    key가 생성된 것을 확인할 수 있다.

    key 파일들은 보안이 중요하기 때문에 퍼미션 설정을 잘 해줘야한다.

    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/id_rsa
    chmod 644 ~/.ssh/id_rsa.pub  
    chmod 644 ~/.ssh/known_hosts

    4. public key 서버에 공유하기

    key를 만들었으면 서버에 public key를 전달해야한다. 그래야 서버의 응답을 public key에 맞게 복호화해서 로컬로 전달한다.

    scp -P 1627 ~/.ssh/id_rsa.pub han@223.194.33.89:~/.ssh/id_rsa.pub

    5. public key를 authorized_keys에 추가

    서버에 접속한 후에

    cd ~/.ssh
    
    touch authorized_keys
    cat id_rsa.pub >> authorized_keys

    를 하면 authorized_keys에 public key가 입력된다.

    6. 접속 확인

    ssh -p 1234 hanseokhyeon@223.123.12.12
    Enter passphrase for key '/Users/hanseokhyeon/.ssh/id_rsa':

    라고 key의 비밀번호를 물어보고 입력하면 정상적으로 접속이 된다.


    출처:
    https://opentutorials.org/module/432/3742
    https://jupiny.com/2017/07/09/ssh-login-using-key-file/

    반응형
Designed by Tistory.