[Born2beroot] 4. Vim 설치 및 SSH 설정

Yejin Kim·2022년 5월 4일
0

42 cursus

목록 보기
4/20


DHCP 끄기

💡 DHCP란?

호스트의 IP 주소와 각종 TCP/IP 프로토콜의 기본 설정을 클라이언트에게 자동적으로 제공해주는 프로토콜
네트워크 안에 컴퓨터에 자동으로 네임 서버 주소, IP주소, 게이트웨이 주소를 할당해주는 것
해당 클라이언트에게 일정 기간 임대를 하는 동적 주소 할당 프로토콜

  • 장점
    PC 수가 많거나 PC 자체 변동사항이 많은 경우 IP 설정이 자동으로 되므로 효율적
    IP를 자동으로 할당하므로 IP 충돌을 막을 수 있음
  • 단점
    DHCP 서버에 의존되므로 서버가 다운되면 IP 할당이 제대로 이루어지지 않는다

ss를 통해 socket의 status를 확인할 수 있다.

ss 명령어
socket statistics
리눅스 시스템의 소켓 상태를 조회할 수 있음

  • -a : listening socket을 포함한 모든 소켓 표시
  • -t : TCP 유형의 소켓만 표시
  • -u : UDP 유형의 소켓만 표시
  • -n : [호스트 / 포트 / 사용자이름]을 숫자로 표시
  • -l : listen 상태의 소켓을 확인
  • -p : socket을 사용하는 프로세스의 정보를 표시

위와 같이 SSH server를 이용하기 위한 포트 외에도 dhclient항목이 잡히고 있다.
특정 포트로만 ssh 연결을 진행할 수 있도록 하기 위해, 동적으로 할당되는 ip를 제거하고, 고정 IP 설정을 해야함

vim 편집기 설치

  • sudo apt-get install vim
  • vim /etc/network/interfaces
    기본 network interface가 dhcp로 되어 있는데,
    이를 고정 ip로 다음과 같이 설정해준다.

    가상 환경 ip 주소는 hostname -I
    netmask는 브로드캐스트 값을 보고 유추가능 (대역)
    gateway는 ip route를 통해 확인

⚙︎ SSH 설정

💡SSH 란?

Secure Shell Protocol
네트워크 프로토콜 중 하나
컴퓨터와 컴퓨터가 인터넷과 같은 Public Network를 통해 서로 통신할 때 보안적으로 안전하게 통신하기 위해 사용하는 프로토콜

SSH는 다른 컴퓨터와 통신하기 위해 접속할 때 일반적인 비밀번호 입력 방식으로 하지 않는다.
한 쌍의 key를 통해 접속하려는 컴퓨터와 인증 과정을 거치게 됨

  • Public key
    공개되어도 비교적 안전한 key
    메시지를 전송할 때 암호화를 함
    public key로는 복호화할 수 없음
  • Private key
    절대로 외부에 노출되어서는 안되는 key
    본인의 컴퓨터 내부에 저장
    private key를 통해 암호화된 메시지 복호화 가능

openssh 설치

OpenSSH는 SSH프로토콜을 사용한 원격 로그인을 위한 연결 도구

  • apt search openssh-server
    openssh가 설치되어 있는지 확인
  • apt install openssh-server
    설치되어 있지 않다면 설치 진행

ssh 포트 변경 및 root를 통한 로그인 막기

기본적으로 ssh는 포트 22로 연결됨.
과제 요구사항에 맞게 4242 포트로 ssh에 연결할 수 있도록 설정

sudo vim /etc/ssh/sshd_config

  • ssh_config : client 측일 때 설정
  • sshd_config : server 측일 때 설정

포트를 4242로 변경하고, 과제 요구사항에 맞게 root를 통한 연결을 방지해줌

재시작하여 설정 적용

  • sudo systemctl restart ssh

로컬과 가상환경 사이의 ssh 연결

어떤 컴퓨터에서 VM에 접속하기 위해서는

  1. host OS의 특정 포트로 접속
  2. host OS의 특정 포트가 Guest OS로 연결

위와 같이 진행되어야 한다.
이를 위해 포드포워딩을 해주어야 함

💡 포트포워딩 이란?

외부에서 어떤 서버 또는 IP로 접속할 때 특정 포트로 접속을 요청하면 그 서버나 IP로 넘겨버리는 것이라고 할 수 있다.
gateway 외부망의 반대쪽에 위치한 내부망에 상주하는 호스트들에 대한 서비스를 제공하기 위해 흔히 사용됨된다.

외부 네트워크에서 내 가상머신에 접속하려고 하면 일단 Host PC인 클러스터의 Mac으로 접속해야 한다.
이 때 특정 포트(Born2beroot에서는 4242)로 Mac에 접속하면 포트포워딩되어 바로 가상 머신에 접속할 수 있도록 하는 것이 포트포워딩의 예시라고 할 수 있다.

포트포워딩 설정

맥 상단 Machine → Settings를 통해 VM setting 창을 open
Network →
Advanced → Port Forwarding 선택
포트포워딩 Rule을 하나 추가하고 적절한 값을 입력

client(클러스터의 맥; 맥에서 가상환경으로 접속을 시도할 것)

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

    포트포워딩을 하기 전에는 연결이 되지 않았음
    포트포워딩을 진행한 후에는 위와 같이 연결에 성공하였다.

    그리고 root로는 여전히 연결되지 않음을 확인할 수 있다.

참고 사이트

profile
The World Is My Oyster 🌏

0개의 댓글