티스토리 뷰

윈도우 운영체제에서 버추얼박스 우분투 가상머신을 생성하고 VScode를 통해 ssh 원격 접속 합니다.
 

VirtualBox 7.0.8
Ubuntu 18.04 LTS (Bionic Beaver)
VScode 1.80을 사용합니다.

 

  1. Remote - SSH 
  2. 가상머신 포트 설정하기
  3. Key생성 후 비밀번호 없이 접속하기

 
 

컴퓨터 공학과에서 공부를 하다 보면 리눅스 환경을 자연스레 접하게 됩니다.
한국에서는 맥북이 아닌 이상 보통 윈도우를 사용하기 때문에
가상머신을 사용해 리눅스 환경을 구축하는 경우가 많은데요.
교육용으로는 버추얼박스+우분투가 많이 사용되곤 합니다.



하지만 프로그램 자체가 무겁기 때문에 컴퓨터 사양이 좋지 않으면 버벅거림이 발생해 상당히 불편하죠.
그 외에도 가상머신으로 코딩을 하기에는 여러 어려운 점이 있기도 하고요.
이를 보완하기 위해 VScode라는 에디터 툴을 사용해 볼 수 있습니다.
 
 
 

1. Remote - SSH 

 
VScode에 extension탭에서 ssh를 검색하고 
Remote - SSH를 설치해 줍니다.
 

 
 
 
 
 
잘 설치가 되었다면 새로운 모니터 모양의 아이콘이 생겼을 겁니다.
이어서 [F1]을 누르고 ssh를 입력
Remote-SSH: Connect to Host... 를 선택합니다.  
 

 
 
 
 
 
Configure SSH Hosts... 를 선택합니다.
 

 
 
 
 
 
그럼 이름\.ssh\config 파일이 나옵니다. 선택합니다.
 

 
 
 
 
파일을 선택하면 다음과 같이 적혀 있습니다. 
 

 
 
 
 
파일을 적절히 수정해 줍니다.
저는 22번 포트를 이용해  rimo계정으로
가상머신에 직접 연결할 것이기 때문에 아래와 같이 적어 주었습니다.
 

Host : 별칭입니다. 자유롭게 적어주시면 됩니다.
HostName : 연결할 호스트의 주소입니다. 127.0.0.1을 입력합니다.
User : 접속에 사용할 계정의 이름입니다. 
Port : 접속에 사용할 포트번호 입니다. 22번을 입력합니다.

 
 

 
 
 
Ctrl+s로 저장해주고 Remotes 창에 Refresh 버튼을 누르면
추가한 가상머신의 정보를 볼 수 있습니다.
 

 
 
 
 
 

2. 가상머신 포트 설정하기

 
버추얼 머신에서 사용할 가상머신의 설정-네트워크 탭을 엽니다.
별도의 설정을 하지 않으셨다면 다음과 같이 나올 것입니다. 
 

 
 
Advanced를 열어 포트포워딩을 클릭합니다. 
 

 
 
 
 
그리고 오른쪽 추가 아이콘을 눌러 아래와 같이 포워딩 규칙을 추가해 줍니다.

(호스트-게스트 IP는 비워두시면 됩니다.)
 

 

확인 시 액세스 허용 경고가 나올 수 있습니다. 그냥 허용을 눌러주시면 됩니다.

 
 
 
 
 
 
 
확인을 눌러 저장해주고 가상머신을 실행합니다.
 

 
 
 
 
 
터미널에 다음과 같이 입력해 줍니다.

# ssh 패키지 설치
$ sudo apt install openssh-server

# 서비스 상태 확인 
$ sudo systemctl status ssh

 
 

 
 
 
 
 

# ssh연결에 대한 방화벽 해제
$ sudo ufw allow ssh

# 방화벽 해제 상태 확인
$ sudo ufw status

아래와 같이 나오면 설정 완료입니다.
 
 

 
 
 
 
VScode로 돌아와 Connect in New Window... 를 눌러줍니다.
 

 
 
 
위에 새로운 창이 뜨면 Linux - 비밀번호 입력 후 엔터로 접속하실 수 있습니다.

 
 
 
 
 
 
 

3. Key생성 후 비밀번호 없이 접속하기

윈도우 기준 명령프롬프트를 열어 ssh-keygen을 입력합니다.
계속 엔터를 쳐주시면 다음과 같이 랜덤으로 키가 생성됩니다.
 

 
 
 
VScode에서 .ssh폴더를 보면 id_rsa파일과 id_rsa.pub 파일이 생긴 것을 볼 수 있습니다.

 
 
 
먼저 id_rsa.pub을 열어 복사합니다.

 
 
 
 
그리고 가상머신 창으로 넘어와서 .ssh 폴더에 authorized_keys파일을 생성합니다.

(.ssh폴더가 없을 경우에는 만들어 주시면 됩니다.)

 
 
복사한 키를 붙여넣은 후 저장합니다. 

 
 
 
다시 config파일로 돌아 IdentityFile 속성을 추가하고 
id_rsa 파일의 경로 입력 후 저장해 줍니다.

 
 
이제 재접속해보면 비밀번호 없이 원격 연결을 할 수 있게 됩니다.
 
 
 
 
 
 
감사합니다.
 


공부한 내용을 복습/기록하기 위해 작성한 글이므로 내용에 오류가 있을 수 있습니다.

댓글
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Total
Today
Yesterday