SSH를 통해 서버에 연결(외부 IP가 없음)

SSH를 통해 서버에 연결(외부 IP가 없음)

Ubuntu 서버로 작은 PC 설정이 있고 SSH를 통해 연결할 수 있도록 ssh-server를 구성했습니다. 문제는 ISP에서 제공한 외부 IP가 없고(모든 장치에 1개의 외부 IP가 있음) 이를 변경할 수 없기 때문에 여기서 시작됩니다. 그래서 제가 조사한 내용을 바탕으로 무료 등급 AWS 인스턴스를 생성하고 거기에 OpenVPN을 생성했습니다.

그래서 나는 다음과 같이 작업했습니다.

  1. PC1
  2. OpenVPN 서버를 호스팅하는 외부 IP가 있는 AWS 인스턴스
  3. PC2

PC1과 PC2는 AWS의 OpenVPN 서버에 연결되어 있으며 PC2를 사용하여 SSH를 통해 PC1에 연결할 수 있습니다.
OpenVPN에 연결하기 위해 PC2를 사용할 필요 없이 PC2를 사용하여 SSH를 통해 PC1에 연결하는 옵션(있는 경우)은 무엇입니까? 아니면 SSH 연결을 위해 OpenVPN에만 연결하고 나머지 트래픽은 openVPN을 사용하지 않는 옵션이 있습니까?

답변1

저는 OpenVPN에 대해 아무것도 모릅니다. 저는 SSH 터널을 사용합니다. 기본은 매우 간단하지만 완전한 설정을 수행하는 것은 다소 어려울 수 있습니다. 즉, 터널링하는 컴퓨터 수에는 제한이 없습니다(동시에 모든 터널을 사용하지 않는 한 속도는 빠릅니다).

ssh -fNR 2222:localhost:22 aws-computer

사용할 키와 사용자 이름/비밀번호를 정의하는 aws-computer내 파일의 이름입니다 .~/.ssh/config

이제 SSH를 통해 다음을 aws-computer사용할 수 있습니다.

ssh -p 2222 pc1

단일/일반 SSH 연결이 있는 것처럼 연결됩니다.

원하는 만큼 터널링을 반복할 수 있습니다. 즉, 결국 ssh pc2pc1에서 하나, ssh pc1pc2에서 하나를 수행할 수 있습니다. 모든 것이 작동하도록 하려면 약간의 설정만 하면 됩니다.

Host aws-computer
  HostName <ip-address-or-domain-name>
  User name
  Port 22
  PasswordAuthentication no
  HostbasedAuthentication no
  IdentitiesOnly yes
  IdentityFile /home/name/.ssh/tunnel_keys/tunnel_rsa

참고: 저는 추가 키(평소와 다른 키)를 위한 하위 디렉터리를 사용합니다.나는 그것들을 얼마든지 가질 수 있다.

주요 제한 사항은 서로 다른 포트를 사용해야 한다는 것입니다(즉, 하나의 포트를 사용하여 한 컴퓨터에서 두 개의 서비스를 가질 수 없습니다). 다른 제한 사항은 컴퓨터 중 하나에 고정 IP 주소가 있어야 하거나 IP를 기록하는 도메인 이름 서버를 사용할 수 있도록 해야 한다는 것입니다. 이러한 DNS는 다른 사람이 "귀하의" 기존 IP를 사용하게 되고 시스템이 제3자 컴퓨터를 통해 연결을 시도할 수 있으므로 그다지 안전하지 않습니다.

관련 정보