ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • putty ppk 파일로 AWS ssh 접속하기 (mac / cli)
    인프라 2021. 10. 26. 23:45
    반응형

    .ppk 파일로부터 private, public key 추출

    ppk파일은 아래 형식처럼 생겼다. 파일을 직접 열어서 파일을 생성해서는 안된다. Key의 형식이 다르다. 이 부분은 직접 Key를 추출해 보고 파일을 열어보면 알게될 것이다.

    PuTTY-User-Key-File-2: ssh-rsa
    Encryption: none
    Comment: imported-openssh-key
    Public-Lines: 6
    AAAAB3NzaC======================================================
    ================================================================
    ================================================================
    ================================================================
    ================================================================
    =============================================iVnOrWv
    Private-Lines: 14
    AAABAQC=========================================================
    ================================================================
    ================================================================
    ================================================================
    ================================================================
    ================================================================
    ================================================================
    ================================================================
    ================================================================
    ================================================================
    ================================================================
    ================================================================
    ================================================================
    =============================================eIL
    Private-MAC: 39ac64b912a1cd3fb94ade0a19064bb19afcc000

     

    우선 putty를 설치한다

    $ brew install putty
    // or
    $ apt install putty

    puttygen 커맨드를 이용해서 .ppk 파일로부터 public key 와 private key를 추출한다

     

    private key 추출

    $ puttygen key.ppk -O private-openssh -o private.key
    $ chmod 600 private.key

    private key의 권한이 다른 사용자에게도 있으면 ssh 접속 시 경고 에러가 난다.

    이렇게 추출한 키의 형식은 아래와 같다

    -----BEGIN RSA PRIVATE KEY-----
    MIIEpAI=========================================================
    ================================================================
    ================================================================
    ================================================================
    // 중략...
    ================================================================
    ================================================================
    =============================================ob+gxniCw==
    -----END RSA PRIVATE KEY-----

     

    public key 추출

    $ puttygen key.ppk -O public-openssh -o public.key

    public key의 권한은 따로 설정할 필요는 없다.

    public key의 형식은 아래와 같다

    ssh-rsa AAAAB3Nz=========================================
    =========================================================
    ==============...중략...==================================
    =========================================================
    ==============================nOrWv imported-openssh-key

     

    ssh 접속 방법

    $ ssh -i private.key username@xxx.xxx.xxx.xxx

    이 커맨드로 ssh 접속이 가능하지만, 매번 key의 경로와 ip, username을 일일이 입력해주어야하는 단점이있다.

    ssh config 파일을 이용하면, 간편하게 ssh 접속할 수 있다.

    먼저 .ssh 폴더에 config 파일을 만들어준다. (이미 있으면 그 파일에 써주면 된다.)

    $ cd ~/.ssh
    $ nano config

    config 파일에 ssh 접속에 필요한 정보를 적는다

    Host hostname
    HostName xxx.xxx.xxx.xxx
    User username
    IdentityFile ~/.ssh/private.key

    hostname에는 원하는 이름을 적어주면 된다.

    IdentityFile에는 ssh 접속에 필요한 private key 파일의 경로를 적어주면 된다.

    저장하고 터미널을 껐다 켠 뒤에 아래 명령어로 간편하게 ssh 접속을 진행할 수 있게 된다. 더이상 일일이 접속 정보를 입력하지 않아도 된다.

    $ ssh hostname

     

    참고 문서

    ssh config 호스트 여러개 https://unix.stackexchange.com/questions/61655/multiple-similar-entries-in-ssh-config

    ssh key 방식으로 접속 https://hoing.io/archives/3262#Mac-2

    putty key generator window 키 추출 https://devbrain.tistory.com/5

    puttygen command https://techglimpse.com/convert-ppk-ssh-keys-connect-server/

    반응형

    댓글

Designed by Tistory.