인터넷을 통해 두 대의 PC 사이에 공유 터미널을 구축합니다.

인터넷을 통해 두 대의 PC 사이에 공유 터미널을 구축합니다.

내 컴퓨터와 내 친구의 컴퓨터는 서로 다른 두 개의 로컬 네트워크에 있고 각각은 라우터를 통해 인터넷에 연결되어 있으며 각 LAN에는 ISP가 임시로 할당한 IP가 하나만 있습니다. 서로의 단말기를 보고 PC에서 타이핑을 할 수 있는 상황을 만들기 위해서는 어떤 문제를 극복해야 할까요?

장벽을 언급하는 것 외에도 이 상황을 처리하기 위해 어떤 용어를 찾는 것이 좋습니다?

답변1

이를 달성해야 하는 이유를 제공하지 않았으므로 내 답변에 필요한 솔루션이 없을 수도 있습니다. 하지만 다른 사용자와 터미널을 공유하는 가장 쉬운 방법은 다음을 사용하는 것입니다.특수 매트, 이는 tmux의 포크입니다.

Tmate를 사용하면 세션을 시작할 수 있으며(터미널을 열고 tmate 시작) 읽기, 쓰기(다른 사람은 명령을 입력할 수 있음) 또는 읽기 전용(다른 사람은 입력한 내용만 볼 수 있음)을 제공합니다.

장점은 서버 시스템에 tmate를 설치하면 포트를 열거나 VPN을 설치할 필요가 없다는 것입니다. 단점은 설치가 그리 간단하지도 않고(너무 복잡하지도 않고), 파일전송도 안되는 것 같아요.

다음은 tmate 작동에 대한 간단한 데모 비디오입니다.https://www.youtube.com/watch?v=is_VpIx3Z4M

답변2

임시 IP 주소 할당 문제를 해결하려면 동적 DNS를 살펴봐야 합니다. 동적 DNS를 지원하는 도메인 이름 등록 기관을 찾은 다음 각각 도메인 이름을 등록하고 등록 기관의 지침에 따라 IP 주소 자동 갱신을 설정합니다. 이렇게 하면 도메인 이름이 항상 현재 할당된 주소를 가리키므로 IP 주소 만료에 대해 걱정할 필요 없이 친구의 컴퓨터에 연결할 수 있습니다(또는 그 반대의 경우도 마찬가지).

LAN 측에서는 아직 설정하지 않은 경우 모든 사람이 자신의 PC를 고정 내부 IP 주소로 설정해야 합니다. 이를 수행하는 방법에 대한 세부 사항은 사용 중인 배포판에 따라 다릅니다. 예를 들어 내 라우터의 내부 IP 주소는 192.168.1.1이고 내 홈 네트워크의 DHCP 클라이언트에 192.168.1.100~192.168.1.199 범위의 주소를 할당합니다. LAN 외부에서 액세스할 수 있기를 원하는 Debian PC에서 /etc/network/interfaces다음과 같이 라우터의 DHCP 범위 외부에 있는 고정 주소를 사용하여 기본 이더넷 어댑터를 설정했습니다.

allow-hotplug eth0
auto eth0
iface eth0 inet static
    address 192.168.1.10
    netmask 255.255.255.0
    gateway 192.168.1.1

그런 다음 라우터의 방화벽 설정에서 TCP 포트 22(기본 SSH 포트)에서 내부 주소 192.168.1.10(내 컴퓨터의 고정 주소)으로의 포트 전달을 켰습니다.

포트를 외부에 노출하기 전에 SSH 공격을 완화하기 위한 몇 가지 조치를 취하십시오.

  • SSH에서 루트 로그인을 허용하지 마십시오. ( PermitRootLogin nosshd 구성 파일에 있습니다.)
  • 특정(루트가 아니고 기타 권한이 없는) 사용자의 연결만 허용합니다. ( AllowUsers my_user_id your_user_idsshd 구성 파일에서) 이를 수행하려면 자신과 친구의 사용자 ID를 지정하거나 이 목적을 위해 특별히 별도의 사용자 계정을 생성할 수 있습니다. 기본 비밀번호가 있을 수 있는 주요 패키지(예: mysql, www-data)에서 일반적으로 생성되는 사용자 ID로부터의 연결을 허용하지 않는 것이 중요합니다. 이는 스크립트 키디의 쉬운 목표입니다.
  • 위 단계에서 허용된 계정에는 강력한 비밀번호를 사용하세요.
  • ssh-keygen또는 두 시스템이 서로 인증한 후에는 비밀번호를 사용하지 않는 것이 좋습니다.
  • 특정 횟수의 실패 후에 특정 원격 호스트의 연결 요청을 차단하는 일부 소프트웨어를 설치하십시오. 나는 이 목적으로 Fail2ban을 사용했는데 훌륭하게 작동합니다.

이제 서로의 컴퓨터에 연결할 수 있으며, 이를 위해서는 터미널을 공유해야 합니다. 거기 있어요GNU 화면회의를 주최하는 사람은 간단히 단말기를 실행하고, 화면을 실행하고, 다른 사용자가 회의에 참여할 수 있도록 다중 사용자를 활성화하면 됩니다. (다중 사용자 활성화에 대한 자세한 내용은 screen의 매뉴얼 페이지를 참조하십시오.) 나중에 둘 중 하나 또는 둘 다 screen 세션을 종료하지 않고 연결을 끊고 나중에 언제든지 다시 연결할 수 있습니다. ISP가 귀하의 IP 주소를 변경하여(둘 중 한 사람의 경우) 연결을 종료하더라도 DNS 항목을 새로 고친 후 다시 연결하고 동일한 세션에 다시 참여할 수 있습니다.

관련 정보