티스토리 뷰
윈도우 운영체제에서 버추얼박스 우분투 가상머신을 생성하고 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 파일이 나옵니다. 선택합니다.
파일을 선택하면 다음과 같이 적혀 있습니다.
파일을 적절히 수정해 줍니다.
저는 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 파일의 경로 입력 후 저장해 줍니다.
이제 재접속해보면 비밀번호 없이 원격 연결을 할 수 있게 됩니다.
감사합니다.
공부한 내용을 복습/기록하기 위해 작성한 글이므로 내용에 오류가 있을 수 있습니다.
'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 |