VirtualBox Debian - 로컬 환경과 SSH 연결

2021. 6. 3. 01:20Linux \ UNIX

Secure Shell Protocol, 즉 네트워크 프로토콜 중 하나이다.

즉, 컴퓨터와 컴퓨터가 통신하기 위한 규약 중 하나인데,

이름에서 알 수 있듯 보안을 중시한다.

telnet 도 쉘 기반 원격 프로토콜이지만 보안성에 치명적인 단점이 있는데,

중간에 데이터가 가로채질 경우 암호화가 되어있지 않아 그대로 노출이 된다.

SSH 는 클라이언트(접속하는 측)와 서버 간 오가는 데이터를 암호화하여

해당 취약점이 보완된 쉘 기반 프로토콜이라고 할 수 있다.

안전한 파일 전송, 원격 제어 등을 위해 사용되곤 한다.

<SSH 설정>

Debian을 설치할 때 SSH server 설치를 선택했는데, 선택하지 않은 경우

apt install openssh-server로 설치하면 된다!

가상 환경을 server 측으로 설정할 것이기에 openssh-server를 확인했지만

클라이언트 측에는 openssh-client를 설치해야 한다.

SSH의 기본 설정은 22번 포트이다.

이를 임의의 포트로 변경할 수 있는데,

4242번 포트로 바꿔본다.

/etc/ssh/sshd_config에서 원하는 포트번호로 편집해주면 간단하게 바뀐다.

ssh_config와 sshd_config가 있는데,

ssh_configclient 측일 때의 설정

sshd_configserver 측일 때의 설정이다.

포트 번호가 4242로 변경되었음을 확인할 수 있다.

<로컬과 가상환경 SSH 연결>

client 측의 명령어는 다음과 같다.

 

ssh <계정 이름>@<서버 주소> -p 포트번호

 

나의 Mac 로컬에서 VirtualBox의 환경으로 접속하려 했으나, 연결되지 않는다.

 

현재 Host OS인 맥의 IP로 접속하면 Guest OS의 환경으로 연결되도록

포트포워딩을 하려 한다.

포트포워딩을 위해, 현재 로컬의 IP 주소를 확인한다.

Setting - Network - Port Forwarding
로컬 IP의 2424번 포트로 접속하면, 가상환경의 4242 포트로 연결된다.

 

 

포트포워딩을 마친 후 접속을 시도했지만 위와 같이 연결에 실패하였다.

 

이는 가상환경의 방화벽 ufw 때문인데,

ufw 는 기본적으로 모든 포트에 대해 들어오는 연결을 차단하기에,

SSH 연결을 받기를 원하는 4242번 포트를 따로 allow 해주어야 한다!

4242/tcp 포트 allow

로컬의 2424 포트로 연결하니, VirtualBox Debian 의 4242번 포트로 잘 접속됨을 확인할 수 있다.