지난 시간에 Mac에 Multipass로 ubuntu를 설치해서 사용하는 것을 알아보았다. 이번 시간에는 Multipass로 구동하는 ubuntu를 local환경의 VSC와 SSH를 이용해서 연결하는 방법을 알아보자
- VSC(Visual Studio Code)
- ubuntu with Multipass
우선 VSC에서 SSH를 사용할 수 있게 관련 extention을 설치해야 한다.

좌측의 extention icon을 선택한 다음 검색창에 Remote - SSH를 입력해서 아래 사진과 같은 extention을 설치한다.

ubuntu 환경에서 입력
ifconfig
를 입력해서 ip 주소를 알 수 있다. 만약 아래와 같은 error가 발생한다면

net-tools가 설치되지 않아서 생긴 문제이니
sudo apt install net-tools
로 설치해준다.
다시 ifconfig를 입력하면 아래와 같이 잘 나오는 것을 확인 할 수 있다.
우리는 여기서 파란색 박스에 있는 ip주소를 기억하면 된다.
who am i
명령어를 입력해 주면 아래와 같이 사용자를 알 수 있다.

다시 VSC로 돌아와서 바탕 창에 Command(⌘) + Shift(⇧) + p를 누른다. 그러면 아래 사진과 같은 창이 뜨고, 그곳에 Remote-SSH를 입력한다.

혹은 보기 -> 명령 팔레트를 이용해서 열어서 입력할 수도 있다.
그 후에 아래와 같이 전에 알아 놓았던 {username}@{ip주소}를 입력한다.
ex) ubuntu@142.234.32.54

좌측 하단의 파란색 icon을 누르면 아래와 같은 화면이 뜬다.


여기서 호스트에 연결...을 누르면 아까와 같은 화면이 나온다.

Mac Terminal환경에서 실행
ssh-keygen -t rsa
를 이용해서 SSH키를 생성한다. 아래와 같은 문항에 그냥 enter를 치면 된다.

정상적으로 완료 했다면 위와 같이 공개키/개인키가 생성되었을 것이다.
cat ~/.ssh/id_rsa.pub
로 공개키를 확인한다. 아래에 있는 공개키를 확인하고 복사한다.

pbcopy < ~/.ssh/id_rsa.pub
를 입력하여 복사해도 된다. (추천)
ubuntu 환경에서 입력
echo "복사한 공개키" >> ~/.ssh/authorized_keys
혹은
local환경에서 입력
ssh-copy-id -p {port num} {계정명}@{ip주소}
로 local에서 생성한 공개키를 ubuntu에 적용시킨 뒤
chmod 700 ~/.ssh/authorized_keys
로 권한을 바꿔준다.
이후 3번의 과정을 다시 반복하면 아래와 같이 연결이 무사히 된다.

만약 위의 과정을 진행 했어도 error가 그대로라면 ubuntu환경에서
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
를 입력하여 권한을 재설정 한 뒤에 다시 3번 과정을 해보면 된다.
원격 연결을 종료하고 싶다면 좌측 하단의 파란색 버튼을 클릭한 후 원격 연결 닫기를 클릭하면 된다.