개발 ON
  • [Network | Rocky Linux] SSH, SFTP 외부 원격 접속
    2024년 07월 06일 20시 33분 46초에 업로드 된 글입니다.
    작성자: 이주여이
    🐳 목표 외부에서 SSH 및 SFTP 접속이 가능하다.
    ✅ 가상 서버 운영체제 - Rocky Linux
          FTP 프로그램 - Filezilla

     

    KDT 과정에서 배포를 아래와 같이 진행했다.

     

    1. 프로젝트 jar 파일을 windows 디렉터리에 다운로드 받는다.
    2. FTP 프로그램(학원에선 Filezilla를 사용했었다)으로 팀마다 부여받은 계정으로 로그인하고 jar(app.jar) 파일을 옮긴다.
    3. windows cmd에서 팀마다 부여받은 계정으로 SSH를 이용해 로그인한다.(ssh team1@192.xxx.xxx.xx.xxx …)
    4. doker build 계정명 …
    5. docker run … (볼륨 옵션 등등) …

     

    나는 원룸에 있는 컴퓨터로 서버 구축 해놓고 원룸에서 뿐만 아니라 바깥에(카페 등등)서도 원룸에 있는 서버에 접근하기 위해 이렇게 작업을 하게 되었다.

    1. SSH(openssh-server) 설치

    나는 SSH 설치가 되어 있으므로 생략한다.

    만약 Rocky Linux로 SSH를 설치해야 한다면 아래에 있는 포스트를 통해 확인할 수 있다.

     

     

    Network / Rocky Linux SSH 설치

    Network / SSHSSH(Secure Shell Protocol)원격지에 있는 컴퓨터를 안전하게 제어하기 위한 통신 프로토콜로 보안을 목적으로 사용된다.SSH 클라이언트와 SSH 서버간에 상호작용하며 SSH 서버가 설치된 운영체

    mytilblog.tistory.com

    2. SFPT(vsftpd) 설치

    ✅나는 SSH 설치 시 해당 가상 서버의 포트 번호를 20000으로 지정했다.(이후 나오는 20000 포트의 이해를 위해 …)

    $ rpm -qa | grep vsftpd # vsftpd 설치되어 있는지 확인
    $ dnf install vsftpd # vsftpd 설치
    $ systemctl start vsftpd # sftp 서비스 시작
    $ systemctl enable vsftpd # 이후 재시작 시 vsftpd 자동 실행 등록
    $ adduser user5221 # 도커 컨테이너 5221 포트 전용 계정 생성
    $ passwd user5221 # 계정 비밀번호 변경
    $ firewall-cmd --add-service=ftp --permanent --zone=public # ftp 방화벽 등록
    $ firewall-cmd --reload # 방화벽 재시작
    
    $ firewall-cmd --list-all
    public (active)
      target: default
      icmp-block-inversion: no
      interfaces: enp0s3 enp0s8
      sources:
      services: cockpit dhcpv6-client ftp ssh
      ports: 20000/tcp 80/tcp 5221/tcp
      protocols:
      forward: yes
      masquerade: no
      forward-ports:
      source-ports:
      icmp-blocks:
      rich rules:

    3. 공유기 포트 포워딩

    포트 포워딩하는 방법은 공유기마다 다 다를테니 알아서 하도록 한다.

     

    🌟 외부 클라이언트가 공인 IP의 20000 포트로 요청을 보내면 공유기는 해당 요청을 내부 네트워크(공유기의 사설 IP인 172.xxx.xx.x.xx)의 20000 포트로 전달한다.

    4. 가상 머신 포트 포워딩

    나는 Oracle VM Virtualbox를 사용하고 있으므로 아래와 같이 포트 포워딩한다.

    5. 확인

    1. FTP 프로그램 접속

    호스트는 외부에서 접속해야 하는 공인 IP(모르겠으면 네이버에 ‘ip 확인’ 검색)를 입력하고 포트는 이전에 SSH 설치 시 지정했던 Port 번호를 입력한다. 사용자, 비밀번호 또한 위에서 만들었던 계정으로 입력하면 된다.

     

    2. SSH 접속

     

    이제 위에서 만든 계정으로 외부 공인 IP에도 접근이 가능하다!

     

    댓글