
퍼티를 사용하여 사무실 컴퓨터(Windows)와 집 컴퓨터(Linux)를 연결할 수 있는 방법이 있습니까? 그렇다면 연결 단계를 알려주십시오.
답변1
홈 PC(Linux 실행)로의 수신 연결을 허용하도록 홈 라우터를 설정하는 더 쉬운 방법은 PC에 DMZ를 설정하는 것입니다.
따라서 일부 사람들이 언급한 것처럼(요약하자면):
- 집에서 라우터에 로그인하고 DMZ를 로컬 PC 주소로 설정합니다(현재는 Linux PC IP 주소가 192.168.1.5라고 가정합니다).
- Linux PC에 openssh-server를 설치하고 테스트하는 것을 잊지 마세요(단순히 ssh 192.168.1.5를 사용하여 방금 설치한 openssh-server에 ssh를 연결할 수 있는지 테스트하세요)
- WAN IP 주소(내부 네트워크 외부에서 외부적으로 연결할 때 세상에 알려진 IP 주소)를 알아야 합니다. - 지금은 이것이 8.8.8.8이라고 가정하겠습니다(실제로는 Google DNS이지만 저는 이것을 사용하고 있습니다). 이 예에서는)
- PuTTY 또는 SSH를 사용하여 8.8.8.8 포트 22에 연결하여 직장(또는 인터넷에 연결된 다른 PC)에서 연결합니다. PuTTY를 사용하는 경우(사무실에서) 연결하고 사용자 이름/비밀번호를 요청해야 합니다. 리눅스 박스에 로그인하세요.
- Linux Box 방화벽을 확인하고 SSH를 허용하는지 확인하세요.
몇 가지 가능한 문제:
WAN IP에 대한 위의 3. 고정 IP가 있는 경우 바로 작동할 가능성이 높습니다. 하지만 그렇지 않다면 끝까지 읽어보세요.
WAN IP에 대한 위의 3. 대부분의 가정에는 동적 IP가 제공됩니다. 이때 DDNS(동적 DNS)라는 서비스를 사용하고 싶을 때입니다. DDNS를 사용하면 이름(mypc.ddns.com 또는 이와 유사한 이름)을 만들 수 있으며, PC는 주기적으로 새 WAN IP가 있음을 DDNS에 보고합니다.
- 귀하의 Linux Box에는 자체 방화벽이 있고 연결을 차단하고 있습니다. 귀하가 이 설정을 변경하는 방법을 알고 있다고 가정합니다.
- 귀하의 라우터에는 자체 방화벽이 있으며 연결을 차단하고 있습니다. 예외를 생성할 수 있습니다. 그러나 DMZ 설정은 라우터의 방화벽 차단을 무시하고 Linux PC(또는 DMZ가 설정된 모든 항목)에 대한 모든 알 수 없는 연결을 통과해야 합니다.
- ISP가 들어오는 포트 22 연결을 차단하고 있습니다. ...이것은 당신이 다소 채워졌을 때입니다. 그러나 해결 방법이 있습니다. 라우터가 포트 전달을 허용해야 합니다. 일반적이지 않은 포트를 사용하고(예: ISP에 의해 차단되지 않은 12222 번호를 구성) 포트 12222에서 포트 22로 포트 전달을 설정합니다. 이 모든 작업은 라우터에서 수행됩니다.
다른 사람들이 몇 가지 가능한 문제를 더 지적할 수 있지만 지금은 시도해 보고 어떻게 진행되는지 확인하세요.
도움이 되었기를 바랍니다.
답변2
내가 아는 세 가지 옵션이 있습니다.
포트 포워딩
포트 포워딩을 설정할 수 있습니다.각외부에서 연결하려는 장치.
- 이는 귀하가 외부 IP 주소를 알고 있다고 가정합니다.
각 장치에 대해 포트 22에서 해당 장치로 전달하는 임의의 외부 포트를 할당할 수 있습니다. (또는 한 장치에 대해 이 작업을 수행한 다음 이를 통해 다른 장치에 연결할 수도 있습니다)
VPN
로컬 네트워크로 VPN을 만든 다음 해당 VPN에 연결하면 네트워크의 모든 것에 액세스할 수 있습니다.
역방향 SSH
역방향 SSH를 사용하면 외부 서버를 활용하고 청취 SSH 세션을 설정합니다. 그런 다음 외부 서버에서 방화벽/포트 전달/등의 방해 없이 라우터 뒤에 있는 장치에 연결할 수 있습니다. 이것이 제가 선호하는 방식이지만(아직 VPN을 설정하지 않았기 때문에) 액세스할 수 있습니다. 외부 서버로.
다음을 사용하여 이 작업을 수행할 수 있습니다.
홈 네트워크의 장치ssh -f -N -R 1234:localhost:22 [email protected]
1234
원격이 장치로 전달하는 데 사용할 포트는 어디에 있습니까?remote.server.example
리모컨 주소야
그런 다음 원격 서버에서ssh -p 1234 -t device_user@localhost
답변3
업무상 이런 일이 발생하지 않도록 주의하시기 바랍니다. IT 보안이 마음에 들지 않을 수도 있습니다. 회사 정책에 따른 것이므로 각별히 주의하시기 바랍니다.
Michael Lucas의 SSH Mastery 83페이지를 인용하자면,https://www.tiltedwindmillpress.com/$9.99
그러나 내 데스크탑이 보안 수준이 높은 네트워크 내에 있다고 가정해 보겠습니다. 방화벽은 웹 탐색을 엄격하게 제한하고 모든 파일 전송을 차단합니다. SSH를 사용하여 네트워크 외부의 서버에 연결할 수 있다면 데스크탑의 트래픽을 외부 서버로 전달하여 인터넷에 무제한으로 액세스할 수 있습니다. SSH를 통해 기밀 문서를 업로드할 수 있었고 방화벽 로그에는 내가 SSH 연결을 했다는 것만 표시되었습니다.
터널과 보안 정책
조직의 보안 담당자라면 포트 전달로 인해 SSH를 완전히 차단하는 것을 고려할 수 있습니다. 이해합니다. 나는 당신의 직업을 가졌습니다. 또한 난폭한 사용자가 DNS, HTTP 또는 거의 모든 다른 서비스나 프로토콜 내부에서 SSH를 터널링할 수 있다는 점도 알아야 합니다. SSH를 완전히 차단하는 유일한 방법은 네트워크 내부에서 외부 세계로의 모든 TCP 또는 UDP 연결을 거부하고, 트래픽을 지능적으로 검사하는 웹 프록시를 사용하고, 프록시를 통해서도 클라이언트가 공용 DNS에 액세스하는 것을 허용하지 않는 것입니다.
당신이 시도하는 것은 아마도 가능할 것입니다. 대부분의 회사 방화벽은 포트 80과 다른 포트를 열어 둡니다. Windows의 명령 프롬프트에서 netstat -n
다음과 같이 열린 포트가 있는 내부 주소 목록을 얻을 수 있습니다.
Active Connections
Proto Local Address Foreign Address State
TCP 10.96.144.75:49242 10.96.144.4:445 ESTABLISHED
:
: