티스토리 뷰
윈도우 운영체제에서 버추얼박스 우분투 가상머신을 생성하고 VScode를 이용해 ssh 원격 접속합니다.
VirtualBox 7.0.8
Ubuntu 18.04 LTS (Bionic Beaver)
VScode 1.80을 사용합니다.
- Remote - SSH
- 가상머신 포트 설정하기
- Key생성 후 비밀번호 없이 접속하기
서론
컴퓨터 공학과에서 공부를 하다 보면 리눅스 환경을 자연스레 접하게 됩니다.
한국에서는 맥북이 아닌 이상 보통 윈도우를 사용하기 때문에 가상머신을 사용해 리눅스 환경을 구축하는 경우가 많은데요.
교육용으로는 버추얼박스+우분투가 많이 사용되곤 합니다.
하지만 프로그램 자체가 무겁기 때문에 컴퓨터 사양이 좋지 않으면 버벅거림이 발생해 상당히 불편하죠.
그 외에도 가상머신으로 코딩을 하기에는 여러 어려운 점이 있기도 하고요.
이를 보완하기 위해 VScode라는 에디터 툴을 사용해 볼 수 있습니다.
1. Remote - SSH
VScode에 extension탭에서 ssh를 검색하고 [Remote - SSH]를 설치해 줍니다.
잘 설치가 되었다면 왼쪽 메뉴바에 모니터 모양의 아이콘이 생겼을겁니다.
이어서 [F1]을 누르고 ssh를 입력 [Remote-SSH: Connect to Host...] 를 선택합니다.
[Configure SSH Hosts...] 명령을 선택합니다.
리스트 목록에서 [이름\.ssh\config 파일이]를 선택합니다.
그럼 다음과 같은 파일이 나타납니다. (이미 ssh 설정을 변경한 경우라면 다른 내용이 나타날 수 있습니다.)
이 파일은 VScode에서 원격 연결과 관련된 설정값을 작성하는 곳입니다.
적절히 수정해 로컬의 우분투 머신에 연결할 수 있습니다.
Host : 별칭입니다. 자유롭게 적어주시면 됩니다.
HostName : 연결할 호스트의 주소입니다. 로컬의 경우 127.0.0.1을 입력합니다.
User : 접속에 사용할 계정의 이름입니다.
Port : 접속에 사용할 포트번호 입니다. 22번을 입력합니다.
저는 22번 포트를 이용해 rimo계정으로 로컬가상머신에 직접 연결할 것이기 때문에 아래와 같이 적어주었습니다.
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 파일의 경로를 적어줍니다.
저장 후 재접속해보면 비밀번호 없이 원격 연결을 할 수 있을 것입니다.
감사합니다.
공부한 내용을 복습/기록하기 위해 작성한 글이므로 내용에 오류가 있을 수 있습니다.
'AWS | Linux' 카테고리의 다른 글
[AWS] EC2와 EBS (2) | 2024.09.17 |
---|---|
[AWS] IAM (사용자, 그룹, 권한, 역할) (0) | 2024.08.23 |
[Wordpress] 워드프레스 사이트 이전 (feat. LAMP, Duplicator) (0) | 2022.10.11 |
[Linux] apt란 (feat.리눅스 배포판) (0) | 2022.02.03 |
버추얼 박스 게스트 확장 설치하기 (클립보드 공유 설정하기) (0) | 2022.01.04 |