여러 번 SSH 접속을 반복하면서 배포하느라 번거로우셨던 적 있으신가요?

제가 다니는 회사는 B2B 프로젝트를 주로 진행하는데, 대부분의 프로젝트가 SSH 터널링을 통한 배포 환경을 갖추고 있습니다.

로컬 VPC는 윈도우 기반이고, 실제 배포가 이뤄지는 서버(B 서버)는 리눅스 환경입니다.

그런데 이 B 서버에 접근하려면 중간에 A 서버를 먼저 SSH로 거쳐야만 접속이 가능하죠.

매번 A 서버에 접속한 후 다시 B 서버로 들어가는 이 반복적인 과정이 꽤 귀찮게 느껴졌습니다.

그래서 이번 글에서는 SSH 터널링을 통해 로컬에서 B 서버로 바로 접근할 수 있는 방법을 공유해보려고 합니다.

이 모든 것은 CMD 에서 실행합니다. ip주소의 예시로 A서버는 111, B서버는 222로 표기를 하겠습니다.

[1] ssh 키 설정

  1. ssh 키가 있는 지 확인

    dir %USERPROFILE%\.ssh\id_rsa* %USERPROFILE%\.ssh\id_ed25519*
    
    1. ssh 키 있을 경우
    2025-02-21  12:00 PM            2,602 id_rsa
    2025-02-21  12:00 PM              574 id_rsa.pub
    
    1. ssh 키 없을 경우

      파일을 찾을 수 없습니다.
      
  2. ssh 키 생성

    ssh-keygen -t rsa -b 4096 -f %USERPROFILE%\.ssh\id_rsa
    
    1. Enter passphrase: → 그냥 엔터 (비밀번호 없이 설정하려면)
    2. Enter same passphrase again: → 그냥 엔터
    3. 생성이 완료되면 C:\Users\사용자이름\.ssh\ 폴더에 id_rsa (개인 키)와 id_rsa.pub (공개 키) 파일이 생성됨
  3. A 서버에 ssh 키 등록

    ssh-copy-id xxxx[@xx.xxx.xx.](<mailto:[email protected]>)111
    
    Number of key(s) added: 1
    Now try logging into the machine, with: "ssh [email protected]"
    
    'ssh-copy-id' is not recognized as an internal or external command,
    operable program or batch file.
    
  4. 수동으로 ssh 키 복사

    1. 공개키 내용 확인 및 복사(ssh-rsa 라고 시작을 할 건데 ssh-rsa부터 끝까지 복사)

      type %USERPROFILE%\.ssh\id_rsa.pub
      
  5. A 서버에 접속

    ssh [email protected]
    
  6. A 서버에 키 등록(””는 빼고 사용)

    mkdir -p ~/.ssh && echo "복사한 공개 키 내용" >> ~/.ssh/authorized_keys
    chmod 600 ~/.ssh/authorized_keys
    
  7. 비밀번호 없이 A 서버 접속 테스트

    ssh [email protected]
    
  8. B 서버에 ssh 키 등록

    1. A 서버에서 ssh 키 생성 확인

      ls -l ~/.ssh/id_rsa ~/.ssh/id_rsa.pub
      
    2. 만약 키가 없다면 생성

      ssh-keygen -t rsa -b 4096
      
    3. 공개키 확인

      cat ~/.ssh/id_rsa.pub
      
  9. A 서버에서 B 서버에 ssh 키 복사

    ssh-copy-id xxxx[@xx.xxx.xx.](<mailto:[email protected]>)222
    
  10. 비밀번호 없이 B 서버 접속 테스트

    ssh xxxx[@xx.xxx.xx.](<mailto:[email protected]>)222
    

[2] ssh 터널링 설정(로컬 VPC에서 한 번에 B 서버로 접속)

  1. VPC 에서 ssh 설정 파일 열기(파일이 없으면 새로 생성됨)

    notepad %USERPROFILE%\.ssh\config