D_ontory : 개발스토리

VS Code 와 Docker Container 연결하여 사용하기 | powershell ssh keygen 발급하여 비밀번호 없이 서버 접속 본문

Linux and Docker

VS Code 와 Docker Container 연결하여 사용하기 | powershell ssh keygen 발급하여 비밀번호 없이 서버 접속

D_on 2023. 2. 23. 13:47
반응형

인공지능 AI 개발자 대부분은 Linux 환경에서 학습하는데, ubuntu 환경을 너무나 사랑하지만,
GUI 가.... 별로인것은 사실입니다.
Linux에서 vim을 사용하여 코드를 작성하고 수정하던 저에게  VScode를 사용하면서 새로운 세상이 열렸습니다.

각박한 gui 에 한줄기 빛과 같은 vscode를 연동하여 jupyter 뿐만 아니라 시각화에도 뛰어난 가시성을 돋보이는 방법을 소개합니다.

 

VScode 설치 

가장먼저, Vscode 를 설치합니다.

사용자 환경 : Linux, Docker

저는 이전까지는 대부분 MobaXterm 이라는 프로그램을 사용하여 SSH로 server와 연결하여 학습을 했습니다.
사용 컴퓨터 : Window
Server : Linux (Ubuntu)

vscode 와의 연동을 위해서 서버내 컴퓨터 모두 docker 가 설치되어 있어야 합니다.
그리고 현재 사용하는 내 컴퓨터에 visual studio code를 설치합니다. 

 

vscode 이전에 pycharm을 사용했었는데, pycharm 무료버전의 경우에는 서버의 docker 컨테이너와 연결하는 기능이 유로만 가능해서 vscode로 사용했던 것 같다. (정확하지 않음)

 

Docker container 연결 전 필수 !!
1. server와 내 컴퓨터 모두 Docker 설치
2. vscode 설치 후 connecting을 위한 확장 프로그램 설치

 

 

VScode 에 확장프로그램 설치

 

 

vscode에 들어가서 F1 을 누르면 위에 검색창 같은게 열리면서 > 표시가 생깁니다.


그럼 그곳에 자신이 필요한 확장프로그램의 이름을 치면 마켓플레이스로 넘어가서 설치가 가능하게 됩니다.

또는, 왼쪽에 테트리스블록처럼 되어있는 아이콘을 열리면 바로 마켓플레이스로 갈 수 있는데, 이곳에서 vscode에 필요한 확장프로그램들을 쉽게 설치할 수 있습니다. --> vscode의 App store 같은 느낌!

 

 

설치 목록 : Remote - SSH , Dev Containers, Remote Development

 

Remote SSH Connect

확장프로그램을 모두 설치 한 뒤에, 내 컴퓨터(vscode)와 SSH 라는 연결방식으로 server를 연결해줍니다.

 

F1 을 누르고, Remote-ssh 라고 치면 호스트에 연결... 이 뜹니다!
그걸 눌러주면, 서버 정보를 입력하라고 하는데, ssh계정@ip주소 형식으로 넣어주면 됩니다.

 

정보를 넣어주었다면 Enter --> 서버의 비밀번호 
를 입력해주면 연결된 서버의 새로운 창이 뜹니다!

 

폴더 열기를 통해 서버의 폴더에 접근하여 자유롭게 코드를 작성하고 수정할 수 있습니다.

 

 

 

SSH keygen 발급 , rsa key 발급하여 비밀번호 없이 로그인하기

 

연결까지는 성공했지만, 키 발급을 해주지 않으면 접속마다 또는 무언가를 동작 할 때 마다 비밀번호를 입력해야만 합니다.
그래서 내가 사용하는 윈도우 컴퓨터의 키를 등록해주려 합니다.

일단, ssh keygen 을 발급하기 위해서는 서버가 아닌 현재 사용하고 있는 컴퓨터(윈도우) 에서 powershell 을 실행해줍니다. (관리자 권한으로 실행할 것)

 

ssh-keygen -t rsa -b 4096

 


그런 다음 사용자 안에 있는 자신의 컴퓨터 이름으로 되어있는 경로로 가서 위 코드를 입력합니다.
그다음에 비밀번호 치라는게 나오는데, 저는 아무것도 치지 않고 엔터(Enter)만 쳤습니다.

 

 

발급된 키 내용을 확인하기 위해서는 키가 발급된 해당 경로로 직접 가서 파일(.ssh\id_rsa.pub)을 열어 확인하는 방법과,
powershell 창에서 확인 하는 방법이 있습니다. 저는 후자를 사용합니다.

Get-Content .\.ssh\id_rsa.pub

ssh-rsa 로 시작하는 키를 복사합니다. (ssh-rsa 포함해서 끝까지)

 

그 다음, 접속하려는 서버(Ubuntu)에 접속해서 ~/.ssh/authorized_keys 라는 곳에 키를 붙여넣기 해주어야 합니다.

sudo vi ~/.ssh/authorized_keys

 

저같은 경우에는, .ssh 라는 경로가 없어서 그냥 만들어주었습니다.

mkdir .ssh

# permission denied 를 벗어나기 위해 권한 부여하기
chmod 755 .ssh

# vim 편집기를 이용하여 복사한 key코드 붙여넣기 진행
vi ~/.ssh/authorized_keys

 

 

이렇게 하면, 서버에 비밀번호 없이 접속이 가능하고, 열려있는 컨테이너와 커넥팅하기도 훨씬 수월해집니다!

매번 VSCode 쓸 때 마다 비밀번호 접속하던걸 하지 않으니 훨씬 편해졌습니다.

 

 

 

 

 

반응형
Comments