[Linux] ssh를 이용하여 가상머신에 원격으로 접속하기

nathan·2022년 1월 8일
0

Linux

목록 보기
4/12

ssh를 이용하여 가상머신에 원격으로 접속하기

  • VirtualBox에 Ubuntu를 설치했다면, ssh를 설정하여 원격접속을 해보자.

1. 가상환경 원격 접속을 위한 ssh 설정

  • VirtualBox로 켠 ubuntu desktop 화면에서 오른쪽 마우스를 클릭해서 Open in Terminal을 눌러주면 터미널로 접속된다.(왼쪽 아래 점 9개를 클릭한 후 검색창에 terminal이라고 검색해도 됨)

ssh 설치 및 시작

$ sudo -s // root 전환
$ apt-get install ssh // ssh 설치
$ service ssh start // 서버 시작
$ service ssh status // 현재 상태 확인 가능
  • 위 명령어를 실행하여 root로 전환하고, ssh를 설치한다.

  • 그리고 서버를 시작하고 현재 상태를 확인해보자.

  • 참고로 apt-get install vim 명령어를 통해 vi 에디터 사용이 가능하다.

ssh란?

  • Secure Shell Protocol(네트워크 프로토콜 중 하나) : public network를 통해 안전하게 통신하기 위해 사용하는 프로토콜
  • 대표적 사용 예 : 데이터 전송(ex. github push), 원격 제어(ex. AWS 인스턴스 서버 접속)
  • 사용 이유 : 보안
  • 작동 원리 : public key로 메시지를 암호화하고, private key로 복호화

2. root 계정 이외에 본인이 접속할 계정 설정 + 본인 계정에 대한 패스워드 설정

유저 생성

// 유저 생성하기
$ sudo adduser [username]
  • 위의 명령어를 통해 유저를 생성해보자.(username으로 디렉토리가 생성됨을 확인할 수 있다.)

root-user간 계정 전환

$ su - [username] // root 계정 -> 사용자 계정 전환
$ su - // 사용자 계정 -> root 계정 전환
  • 위 명령어를 통해 root 계정에서 사용자 계정으로의 전환이 가능하다.

3. 로컬 컴퓨터에서 가상 환경 리모트에 ssh로 접속해서 본인 계정으로 로그인하기

가상머신 IP 확인하기

// 가상 리눅스의 IP를 확인하기 위한 작업
$ sudo apt-get install net-tools
$ ifconfig 
  • VirtualBox와 로컬 PC를 연결하기 위해서 포토포워딩 작업을 해야한다.

  • 그러기 위해서는 가상 리눅스의 IP를 확인해야 한다.

  • 위의 명령어를 입력하여 확인해보자.

  • 위의 이미지에서 알 수 있듯 가상 리눅스의 IP는 10.0.2.15이다.

  • 로컬 IP를 확인하기 위해서는 터미널 창을 열어 ipconfig getifaddr en0를 입력해주면 된다. (필자의 IP는 192.168.x.xxx)

  • 이제 이 두 개의 IP를 VirtualBox에서 포트 포워딩을 해보자.(포트를 전달한다고 생각하기)

  • 우선 VirtualBox에서 설정->네트워크(고급)->포트 포워딩으로 들어간다.

  • 오른쪽 마우스를 클릭하여 "새규칙추가"를 누르고 호스트 IP에는 내 로컬 IP를 등록하고, 게스트 IP에는 가상환경의 리눅스 IP를 등록한다.

  • 호스트 포트번호는 맥에서는 2222로 입력해야 한다.

  • 게스트 포트번호는 22로 입력한다. (SSH 프로토콜의 Port는 22이므)

$ ssh [username]@[host ip] -p [호스트 포트 번호]
  • 위 명령어를 터미널에 입력해주면 다음과 같은 ssh 연결을 위한 Key가 발행되고 연결을 계속할지 묻는다(yes 입력!)

  • 원격 접속이 성공적으로 이루어진 모습을 볼 수 있다!!

✋ 여기서 잠깐! : Linux와 Ubuntu 차이점

  • Linux : Linux 커널을 기반으로 구축된 무료 오픈 소스 소프트웨어 운영체제 제품군(UNIX 기반)
  • Ubuntu : 데비안 기반의 무료 오픈 소스 운영체제 및 리눅스 배포판
  • 쉽게 말해 Linux가 핵심 운영 체제이고, Ubuntu는 리눅스 배포본 인 운영체제이다.

References

profile
나는 날마다 모든 면에서 점점 더 나아지고 있다.

0개의 댓글