Linux 서버와 Windows 클라이언트간에 SSH 터널을 만드는 방법

건축 아이디어 SSH 터널 모든 연결을 암호화하고 (예 : https 또는 http 페이지로 이동하는 경우) 인터넷 를 통해 보안 채널. 이 "안전한"채널은 서버 이 목적을 위해 구성되었습니다. 예를 들어이 서버는 집에있을 수 있습니다.


이 방법의 "단점"은 항상이 시스템을 켜고 SSH 서버로 작동하도록 올바르게 구성해야한다는 것입니다. 그러나 연결 보안을 크게 향상시키고 네트워크 관리자가 부과 한 연결 제한을 피할 수도 있습니다. (예 : 직업).

이게 정말 도움이 될까요? 다음 시나리오를 가정 해 보겠습니다. 무료 Wi-Fi가 제공되는 인터넷 카페 또는 레스토랑에 있으며 은행 송금 또는 기타 중요한 작업을해야합니다. 물론 안전한 환경에서 이러한 유형의 거래를 수행하는 것이 항상 권장됩니다. 그러나 해결책이 있습니다. SSH 터널입니다. 이러한 방식으로 "보안"서버를 통해 인터넷에 연결할 수 있습니다.

이 방법은 또한 많은 작업 환경에서 연결에 부과 된 제한을 우회하는 데 유용합니다. 직장에서 YouTube에 액세스 할 수 없습니까? 모든 요청이 "보안"서버를 통해 이루어지기 때문에 SSH 터널이 해결책이 될 수 있습니다. 즉, 보안 서버의 IP가 차단되지 않기 때문에 (예, YouTube의 경우)이 제한을 "피할"수 있습니다 (YouTube에 액세스 할 수 없음). 네트워크 컴퓨터는 "보안"서버와 만 통신하고 있으며이를 통해 실제로 많은 페이지를 탐색하고 있다는 사실을 알지 못합니다.

이 튜토리얼에서는 "일반적인"경우를 설명합니다 : Linux 서버, Windows 클라이언트.

Linux 서버 구성

1.- SSH 서버를 설치하십시오. 이를 위해 터미널을 열고 다음을 실행했습니다.

En 우분투:

sudo apt-get 설치 openssh-server

En 아치:

팩맨 -S openssh

En 페도라:

yum -y openssh-server 설치

준비된. 이제 SSH 클라이언트를 사용하여 Ubuntu (SSH 서버)에 액세스 할 수 있습니다.

2.- 일단 설치되면 구성 파일을 검토하는 것이 유용합니다.

sudo nano / etc / ssh / sshd_config

이 파일에서 SSH 서버를 쉽게 구성 할 수 있습니다. 내 권장 사항은 port 및 allowusers의 두 매개 변수 만 수정하는 것입니다.

가능한 공격을 피하려면 SSH가 사용할 포트를 변경하는 것이 좋습니다. 기본적으로 값 22와 함께 제공되며 가장 적합한 다른 항목을 선택할 수 있습니다 (이 자습서의 목적을 위해 443을 선택했지만 다른 값도 가능).

Allowusers 매개 변수를 사용하면 사용자 및 선택적으로 연결할 수있는 호스트별로 액세스를 제한 할 수 있습니다. 다음 예제는 호스트 10.1.1.1 및 10.2.2.1에서 여러 사용자 만 그렇게 할 수 있도록 SSH 서버에 대한 액세스를 제한합니다.

AllowUsers 및 so@10.1.1.1 mengano@10.1.1.1 so 및 so@10.2.2.1 mengano@10.2.2.1

라우터 구성

서버가 라우터 뒤에있는 경우 들어오는 연결을 차단하지 않도록 후자를 구성해야합니다. 보다 구체적으로 구성해야합니다.

요점으로 이동하여 필요한 구성을 보여주기 전에 포트 포워딩이 구성되는 부분을 약간 설명하는 것이 현명 해 보입니다.

3 대의 컴퓨터로 구성된 로컬 네트워크가 있고 모두 라우터 뒤에 있다고 가정합니다. 들어오는 연결 (예 : SSH에서)이 로컬 네트워크의 시스템 1과 통신하는 방법은 무엇입니까? 3 개의 컴퓨터가 로컬 IP를 가지고 있지만 "외부에서"인터넷에 연결하는 데 사용되는 단일 공용 IP를 공유한다는 것을 잊지 마십시오.

앞서 언급 한 문제에 대한 해결책은 포트 포워딩입니다. 따라서 들어오는 연결이 공용 IP의 포트 X로 수신되면 라우터는 해당 컴퓨터를 참조합니다. 이런 식으로 해당 포트를 통해 연결할 때마다 라우터가 우리를 해당 머신으로 리디렉션 (따라서 포트 포워딩)한다는 것을 알 수 있습니다. 이 모든 것은 분명히 라우터에서 구성되어야합니다.

포트 전달 구성은 사용중인 라우터에 따라 조금씩 다릅니다. 가장 실용적인 것은 방문하는 것입니다 portforward.com, 사용중인 라우터 모델을 선택하고 여기에 설명 된 단계를 따릅니다.

Windows 클라이언트 구성

Windows에서 연결하려면 PuTTY 도구를 SSH 클라이언트로 사용하는 것이 실용적입니다.

1.- 첫 번째 단계는 PuTTY를 다운로드하는 것입니다.

PuTTY 다운로드 페이지에서 볼 수 있듯이 여러 버전을 사용할 수 있습니다. 프로그램의 휴대용 버전 인 putty.exe를 다운로드하는 것이 좋습니다. 휴대용 버전을 선택할 때의 장점은 언제 어디서나 펜 드라이브에 휴대하고 어떤 컴퓨터에서든 프로그램을 실행할 수 있다는 것입니다.

2.- PuTTY를 열고 SSH 클라이언트가 연결해야하는 서버의 IP (공용) 및 포트를 지정합니다. 서버의 공용 IP를 찾는 방법은 무엇입니까? 이 서비스를 제공하는 수천 개의 페이지를 찾으려면 "내 공개 IP는 무엇입니까"를 Google에 검색하기 만하면됩니다.

3.- "클라이언트"가 프록시 뒤에있는 경우 올바르게 구성하는 것을 잊지 마십시오. 입력 할 데이터가 확실하지 않은 경우 Internet Explorer를 열고 도구> 연결> LAN 설정> 고급으로 이동하십시오. 아래 이미지와 같이 PuTTY에 나타나는 데이터를 복사하여 붙여 넣습니다. 경우에 따라 사용자 이름과 암호를 입력해야 할 수 있습니다.

4.- SSH 터널을 구축하려면 "로컬"포트 포워딩 데이터를 입력해야합니다. 연결> SSH> 터널로 이동하십시오. 여기서 아이디어는 다음과 같습니다. PuTTY에 보안 서버로 "전환"할 연결을 알려야합니다. 이렇게하려면 포트를 선택해야합니다.

특히 컴퓨터가 프록시 뒤에있는 경우 보안 연결을 위해 SSL에서 사용하는 포트 443을 선택하는 것이 좋습니다.이 포트는 관리자가 수행중인 작업을 파악하기 어렵게 만듭니다. 반면에 포트 8080은 HTTP ( "보안"연결이 아님)에서 사용하는 포트이므로 숙련 된 네트워크 관리자는 의심 스러울 수 있으며 다른 유형의 연결을 위해 포트를 차단했을 수도 있습니다.

대상에서 보안 서버의 IP를 다시 입력 한 다음 콜론과 "라우터 구성"이라는 점과 ~ / .ssh / config 파일에서 연 포트를 입력합니다. 예 : 192.243.231.553:443.

Dynamic (SOCKS 연결을 생성하며 다음 지점에서 사용)을 선택하고 추가를 클릭합니다.

5.- 기본 PuTTY 화면으로 돌아가서 저장을 클릭 한 다음 열기를 클릭했습니다. 서버에 처음 연결하면 아래와 같은 경고 메시지가 나타납니다.

6.- 그런 다음 서버에 액세스 할 수있는 사용자 이름과 암호를 묻습니다.

모든 것이 잘되면 로그인이 완료되면 아래와 같은 내용이 표시됩니다.

7.- 마지막으로 PuTTY를 닫지 않고 Firefox (또는 선호하는 브라우저)를 열고 구성하여 PuTTY를 통해 인터넷에 연결합니다.


기사의 내용은 우리의 원칙을 준수합니다. 편집 윤리. 오류를보고하려면 여기에.

12 코멘트, 당신의 것을 남겨주세요

코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.

  1.   호세 다니엘 로드리게스

    6 단계에서 어떤 사용자 이름과 어떤 암호를 입력해야하는지 질문

  2.   호세

    훌륭 해요, 우리 집에서 구성 해 볼게요

  3.   Al

    내 집에서 인터넷에 액세스하려면 :
    56k 모뎀으로 전화 접속 연결,
    이 구성이있는 .bat 파일을 실행합니다.
    @ 에코 오프
    C:
    Cd C : \ Windows
    퍼티 -N -C -D 1080 -P 443 -ssh 사용자 @ 00.00.000.000 -pw 패스
    출구
    그리고 이것에 구성된 퍼티와 관련된 것은
    형식 : 프록시 사용을 제어하는 ​​옵션에서 프록시에 http에 넣습니다.
    호스트 이름 프록시와 포트 3128, 사용자 이름과 비밀번호를 입력했습니다.
    나는 내 데이터를 다른 모든 것을 그대로두고 이것을 저장합니다.
    기본 설정으로 처음 구성
    모질라, 야후 메신저 등을 사용하기 위해서는
    다음과 같이 구성된 proxifier 버전 3이있는 애플리케이션 :
    주소가 127.0.0.1 포트 1080 sock 버전 5 인 프록시 서버에서,
    근접 규칙에서 퍼티 응용 프로그램을 추가하고 작업에
    모든 프로그램이이를 통해 나오도록합니다.
    내 안드로이드 폰에서 어떻게 할 수 있는지 알아야합니다.
    connectify를 통해 내 PC에 연결하고 내 연결을 공유합니다.
    전화 액세스. 이 문제를 해결하려면 튜토리얼과 APK가 필요합니다.
    양도 논법. 사전에 인사와 감사

  4.   클린트 이스트우드

    클라이언트가 만드는 HTTP 요청에 SSH 서버가 마술처럼 어떻게 참석하는지 설명 할 필요가있었습니다 ...

    1.    에롤 플린

      잘못된 클린트 이스트우드.

      튜토리얼에서 설명한 "마법처럼"작동합니다!

      전혀 약하지 않고 오히려 공정하고 구체적이라고 말하고 싶습니다.

      경험이없는 사람들을 위해 아주 잘 설명되었습니다.

      안부

      1.    리눅스를 사용하자

        그것이 당신에게 얼마나 좋은 일입니까! 포옹! 폴.

  5.   Dumas리눅스

    아주 잘 작동합니다.

    아래와 같이 WinSCP를 사용한 SSH 터널 :

    http://www.sysadmit.com/2014/05/linux-tuneles-ssh-con-winscp.html

  6.   장피에르 잠브라노-쿠에바

    아주 잘 설명 5 * 감사합니다

  7.   로드리고

    질문…
    내가 원하는 것이 두 Linux 시스템 간의 터널이면 어떻게됩니까? 저는 다음과 같은 상황이 있습니다. 제 작업에서 우리는 PC를 만지작 거리고 있고 화상 회의 소프트웨어를 테스트하고 싶어서 avandonado PC에 서버를 설치해야했습니다. 문제는 소프트웨어 (bigbluebutton)를 설치할 때 설치가 실패한다는 것입니다. 문제는 설치 구성 요소의 다운로드가 차단된다는 것입니다 (저는 컴퓨터 과학자가 아닙니다. 저는 지속적인 학습의 교사입니다. ) ...
    회사가 위대하기 때문에 네트워크에서 우리를 도울 가능성은 거의 없습니다 ...
    그래서 저는 ssh 터널을 통해 서버 (우분투 서버)를 제 홈 PC (우분투가있는)와 연결 한 다음 소프트웨어를 설치할 생각이었습니다.
    있을 수있다? 날 도와 주나요?

  8.   수안

    안녕하세요, 질문이 있습니다. 가상 머신에있는 데비안 서버에있는 애플리케이션에 연결하고 싶습니다.이 애플리케이션은 Windows에 마운트했으며 다른 네트워크에서 해당 애플리케이션에 액세스하고 싶습니다. 누군가 안내해주세요. .

  9.   익명으로

    SSH 서버를 설치하고 구성하는 방법
    https://www.youtube.com/watch?v=iY536vDtNdQ

  10.   토 스코

    안녕하세요, 저는 저를 많이 괴롭히는 질문이 있습니다. 저는 커뮤니티에 문의하기로 결정했습니다. .. 저를 도와 줄 수 있는지 알아보기 위해 여기에 있습니다. .. 저는 가상화의 세계에서 "새로운"사람입니다. 리눅스.

    사례는 다음과 같습니다. Linux 서버 14.04.5 LTS가있는 가상 머신을 설치했으며 Vbox의 네트워크를 네트워크 어댑터를 선택하는 "브리지 어댑터"로 구성했습니다. 일단 내 서버에 몇 가지를 설치했습니다. 즉, 인터넷에 액세스 할 수 있습니다. 그 중에서 SSH 서비스를 설치했습니다. 기본적으로 포트 22와 ftp 서비스 "vsftpd"는 그대로 둡니다.

    «ifconfig»명령을 참조하면 다음과 같이 대답합니다.
    링크 캡슐 : 이더넷 주소 HW 08:00:27 : d5 : 2c : 88
    주소 inet : 192.168.0.13 Diffus.:192.168.0.255 Masc : 255.255.255.0
    ......

    이제 Putty를 사용하는 내 컴퓨터 (Windows 10)에서 ssh (포트 22)를 사용하여 가상 서버에 연결하려면 ip "192.168.0.13"을 사용하고 FTP에서도 동일하게 사용합니다.하지만 집에있는 친구가 연결하려면 내 서버는 SSH 또는 FTP를 통해 내 컴퓨터에서 사용하는 IP를 사용할 수 없습니다.

    왜 이것이 ip "192.168.0.13"이 로컬에서 작동한다고 생각하는지 알고 싶습니다. 즉, 다른 것을 구성하고, / etc / network / 인터페이스를 수정하고, iptables에서 무언가를 수정해야합니까?
    음, 내 서버가 누구나 액세스 할 수있는 공용 IP로 작동하기를 원합니다.

    미리 감사드립니다!