ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • aistages GPU 서버 접속 설정 (SSH key 등록)
    부스트캠프 AI Tech 4기/꿀팁 2022. 11. 14. 14:20

    서버에 접속하는 방법에 대해 캠퍼들에게 공유할 만한 설정법을 고민해보았다.

     

    서버를 생성하면 key 파일이 자동으로 다운로드되는데, 서버를 반납하고 생성할 때마다 달라지는 key에 일일이 대응하기보다는 변하지 않는 내 컴퓨터에서 ssh key를 한 번 만들고 이를 서버에 등록하는 방식이 좋겠다고 생각했다.

     

    더불어 이 방식은 ssh key가 무엇이고, 어떻게 동작하는지 배울 수 있을 것으로 예상한다.

    Git 특강을 해주셨던 이고잉님이 만드신 생활코딩의 강의를 첨부한다. 영상을 보지 않고 그 밑에 설명만 봐도 충분하다.

    SSH Key - 비밀번호 없이 로그인 - 원격제어 (opentutorials.org)

     


     

    과정

    과정은 아래 순서로 진행된다.

     

    1. 내 컴퓨터의 ssh key 준비

    2. 서버에 내 컴퓨터의 ssh key 등록

     

     


     

    1. 내 컴퓨터의 ssh key 준비하기

     

    터미널을 열어서 ssh-keygen을 입력하고 엔터를 계속 연타하면 홈 디렉토리(사용자 계정 폴더) 밑에 .ssh 폴더 안에 key가 생성된다.

     

    (1) Windows는 PowerShell을 열고 (cmd 말고), macOS나 Linux는 터미널을 열자.

    (2) ssh-keygen을 입력하고 Enter 키를 계속 연타하면 홈 디렉토리(사용자 계정 폴더) 밑에 .ssh 폴더 안에 key가 생성된다.

     

    아래는 Windows PowerShell에서의 예시 결과지만, macOS나 Linux도 거의 동일하다.

    PS C:\Users\jwseo> ssh-keygen
    Generating public/private rsa key pair.
    Enter file in which to save the key (C:\Users\jwseo/.ssh/id_rsa):
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    Your identification has been saved in id_rsa.
    Your public key has been saved in id_rsa.pub.
    The key fingerprint is:
    SHA256:JvD+4XQPlQxprQdcoQfx3aT/jZETb80YVyuJIxOWQRk jwseo@4350G
    The key's randomart image is:
    +---[RSA 3072]----+
    |        .EB.o.  o|
    |        .+.B...+o|
    |    .    oBo+o=.o|
    |     o   .o*...X.|
    |      o S . = = *|
    |     . o   o   =o|
    |      . o o   . o|
    |       + o o     |
    |        o   .    |
    +----[SHA256]-----+
    PS C:\Users\jwseo>

     

    (3) cat ~/.ssh/id_rsa.pub 을 입력하고 Enter 키를 누르면 아래와 같이 ssh-rsa로 시작하는 기다란 문자열의 공개키(Public Key)값이 출력된다. 이 부분을 마우스로 드래그해서 복사한다.

    PS C:\Users\jwseo> cat ~/.ssh/id_rsa.pub
    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDHIT+Haat2PKLzsEOw/oreqYeqfC9npcpdQDTLTr0O/7AAd9aSVL9RX8DCdpFE4oqNu9JJBHjMa2tpNN+TPfDXrZbA6D66lPquJLWMpAofpNvuCwwkDAaXvznnaKfiH+ZY4d7LQvu1vt6Pia5BRiiDPRD+pjAVDgjNLBGP73XwUMeQLpQjzqNTV20PdjBqmSbKcD2f5pQRPNMhtyRjQ6n49+jFxEfUlGFUKT3iKRnxkr4x9VZ94hvad09PU7dlv0qcfF9xAJrXKL3rsNl25Ls67HfxO1oSaBjlZS5I5IlOQDdvEPUw4oESEgk3o0U+vOUt/WcoIfWwrbxZnbVqg5BIp/NsPhX/v3ThqwApObJFM3lCIQm9kdaUD7fbZwcalY/eguMzgK18Ar6yS/9RzxrTejpknK4itrxyG5EcDps/FeC/7sv77prMnj4nQTYAMe6SHFQL+2H0fk55YLGC15C5VJdtzIovj+7tZnL4gLFdKUZBNiCPkdHtWswO/d+KQrM= jwseo@desktop

     

     

     

     

    2. 서버에 내 컴퓨터의 ssh key 등록하기

    위에서 복사한 공개키를 서버에 등록하는 과정이다.

     

    (1) aistages 홈페이지에서 서버 정보를 볼 수 있는 곳으로 간다.

    (2) 노트북 연결 버튼을 클릭한다. (아래 그림의 파란색 버튼)

    (3) Jupyter Lab이 열리면, Other 아래에 있는 Terminal을 클릭해 터미널을 연다.

    (4) 명령어로 공개키를 서버에 등록한다.

    ⚠️여기서 쌍따옴표로 묶은 공개키 부분을 각자 자신의 공개키로 변경해야 합니다.

    echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDHIT+Haat2PKLzsEOw/oreqYeqfC9npcpdQDTLTr0O/7AAd9aSVL9RX8DCdpFE4oqNu9JJBHjMa2tpNN+TPfDXrZbA6D66lPquJLWMpAofpNvuCwwkDAaXvznnaKfiH+ZY4d7LQvu1vt6Pia5BRiiDPRD+pjAVDgjNLBGP73XwUMeQLpQjzqNTV20PdjBqmSbKcD2f5pQRPNMhtyRjQ6n49+jFxEfUlGFUKT3iKRnxkr4x9VZ94hvad09PU7dlv0qcfF9xAJrXKL3rsNl25Ls67HfxO1oSaBjlZS5I5IlOQDdvEPUw4oESEgk3o0U+vOUt/WcoIfWwrbxZnbVqg5BIp/NsPhX/v3ThqwApObJFM3lCIQm9kdaUD7fbZwcalY/eguMzgK18Ar6yS/9RzxrTejpknK4itrxyG5EcDps/FeC/7sv77prMnj4nQTYAMe6SHFQL+2H0fk55YLGC15C5VJdtzIovj+7tZnL4gLFdKUZBNiCPkdHtWswO/d+KQrM= jwseo@desktop" >> /root/.ssh/authorized_keys

     

    (5) cat /root/.ssh/authorized_keys 명령어로 공개키가 등록되었는지 확인한다. 

    첫 번째 줄의 공개키는 서버를 생성할 때 다운로드되었던 key 파일의 공개키이며, 두 번째 줄에 내 컴퓨터의 공개키가 있는 것을 볼 수 있다.

    root@b49c5e196e7a:~# cat /root/.ssh/authorized_keys
    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQCsCP9oFaPMzVMpyQ/3bGZWJegsAiWYSMLtNVzlkeiV0Gg23pdySWHGQMD1YV8pjFnCpU3BlCNE2b+i7C7gVLAvSGu5vxUKmWMEmK5sNlWOz06GlncpF1VKWTOsFI4HafABclPWWC4EXfs2p1su0jL0XNr5AcMHfadEV+YTFxmqdQ==
    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDHIT+Haat2PKLzsEOw/oreqYeqfC9npcpdQDTLTr0O/7AAd9aSVL9RX8DCdpFE4oqNu9JJBHjMa2tpNN+TPfDXrZbA6D66lPquJLWMpAofpNvuCwwkDAaXvznnaKfiH+ZY4d7LQvu1vt6Pia5BRiiDPRD+pjAVDgjNLBGP73XwUMeQLpQjzqNTV20PdjBqmSbKcD2f5pQRPNMhtyRjQ6n49+jFxEfUlGFUKT3iKRnxkr4x9VZ94hvad09PU7dlv0qcfF9xAJrXKL3rsNl25Ls67HfxO1oSaBjlZS5I5IlOQDdvEPUw4oESEgk3o0U+vOUt/WcoIfWwrbxZnbVqg5BIp/NsPhX/v3ThqwApObJFM3lCIQm9kdaUD7fbZwcalY/eguMzgK18Ar6yS/9RzxrTejpknK4itrxyG5EcDps/FeC/7sv77prMnj4nQTYAMe6SHFQL+2H0fk55YLGC15C5VJdtzIovj+7tZnL4gLFdKUZBNiCPkdHtWswO/d+KQrM= jwseo@desktop
     

     

     

     


     

     

    여기까지 했다면,

     

    이제 각자의 컴퓨터에서 터미널을 열고 ssh 서버IP -p 서버Port 명령어를 통해 접속해보자.

    aistages 노트북 연결 밑에 있는 명령어에서 -i ./key 부분을 빼면 된다.

    이 서버의 경우 명령어는 ssh root@118.67.143.135 -p 2230

     

    아래와 같이 접속된다면 성공!

    C:\Users\jwseo>ssh root@118.67.143.135 -p 2230
    Welcome to Ubuntu 18.04.5 LTS (GNU/Linux 4.4.0-59-generic x86_64)
    
     * Documentation:  https://help.ubuntu.com
     * Management:     https://landscape.canonical.com
     * Support:        https://ubuntu.com/advantage
    This system has been minimized by removing packages and content that are
    not required on a system that users do not log into.
    
    To restore this content, you can run the 'unminimize' command.
    Last login: Mon Nov 14 04:24:47 2022 from 1.239.94.21
    root@b49c5e196e7a:~#

    '부스트캠프 AI Tech 4기 > 꿀팁' 카테고리의 다른 글

    부스트캠프 Slack 백업받기  (2) 2023.02.09
    Zoom 마이크 노이즈 제거  (0) 2022.11.16

    댓글

Designed by Tistory.