GNU/Linux >> Znalost Linux >  >> Linux

Ssh Port Forward pro přístup k domácímu počítači odkudkoli?

Vycházím z této otázky:https://superuser.com/questions/359799/how-to-make-freebsd-box-accessible-from-internet

Chci pochopit celý tento proces port forwarding .

Četl jsem tolik věcí, ale nerozumím úplně základnímu konceptu samotného přesměrování portů.

Co mám:

freebsd server sedí u mě doma.
router netgear

Toho se snažím dosáhnout:

mít přístup k serveru freebsd z počítače se systémem Windows přes internet, abyste mohli otevřít webový prohlížeč a přistupovat k internetu.

Také chci získat přístup k tomuto boxu freebsd z počítače ubuntu, který mám.

Bude skvělé, když mi někdo pomůže.

Zde je nastavení routeru netgear, které jsem provedl pro přesměrování portů.

Přijatá odpověď:

Začnu hrubými fakty:

  1. Máte:A – váš box FreeBSD, B – váš router a C – nějaký stroj s přístupem na internet. Takhle to vypadá:

    .-----.      .-----.                        .-----.
    |  A  |  ==  |  B  |  - - ( Internet ) - -  |  C  |
    '-----'      '-----'                        '-----'
    _________ ________/
              v
               `- this is your LAN
    

    Všimněte si, jak váš router normálně funguje:umožňuje připojení z strojů ve vaší LAN do internet (zjednodušeně řečeno). Pokud tedy A (nebo jakýkoli jiný stroj v síti LAN) chce přístup k internetu, bude mu to povoleno (opět jen mluvíme o základním porozumění a konfiguraci):

    .-----.      .-----.                        .-----.
    |  A  |  ==  |  B  |  - - ( Internet ) - -  |  C  |
    '-----'      '-----'                        '-----'
          `-->----'  `--->--->---^  
    

    A následující není ve výchozím nastavení povoleno:

    .-----.      .-----.                        .-----.
    |  A  |  ==  |  B  |  - - ( Internet ) - -  |  C  |
    '-----'      '-----'                        '-----'
          `--<----'  `---<--- - - - - --<---<-----'
    

    (To znamená, že router chrání stroje ve vaší LAN nebudou přístupné z internetu.) Všimněte si, že router je jedinou částí vaší LAN, která je vidět z internetu.

  2. Přesměrování portů umožňuje realizaci třetího schématu. To spočívá v tom, že routeru řeknete co připojení z C by měl přejít na který stroj v síti LAN. To se provádí na základě čísla portů – proto se tomu říká přesměrování portů . Nakonfigurujete to tak, že dáte směrovači pokyn, aby všechna připojení přicházející na daný port z Internetu směřovala k určitému počítači v síti LAN. Zde je příklad portu 22 přesměrovaného na stroj A :

    .------.     .-------.                        .-----.
    |  A   | ==  |   B   |  - - ( Internet ) - -  |  C  |
    |      |     |       |                        '-----'
    '-|22|-'     ',--|22|'                          |
        `--<-22---'    `---<---- - - - - - --<-22---'
    
  3. K takovým připojením přes internet dochází na základě IP adres. Takže trochu přesnější znázornění výše uvedeného příkladu by bylo:

    .------.      .-------.                                .-----.
    |  A   |  ==  |   B   | - - - - - ( Internet ) - - - - |  C  |
    |      |      |       |                                '-----'
    '-|22|-'      ',--|22|'                                   |
        `--<-A:22--'    `--<-YourIP:22 - - - - --<-YourIP:22--'
    

    Pokud nemáte připojení k internetu pomocí statického IP, pak byste se museli nějak naučit, jaká IP je aktuálně přidělena vašemu routeru od ISP. Jinak C nebude vědět, k jaké IP se musí připojit, aby se dostal k vašemu routeru (a dále k A ). Chcete-li to jednoduše vyřešit, můžete použít službu zvanou dynamické DNS . To způsobí, že váš router bude pravidelně odesílat informace na speciální server DNS který bude sledovat vaši IP a poskytne vám název domény . Existuje několik bezplatných poskytovatelů dynamického DNS. Mnoho směrovačů přichází s možnostmi konfigurace, abyste je mohli snadno kontaktovat.

Související:Vypnutí počítače se systémem Windows 7 jej někdy místo toho restartuje?

Toto je opět zjednodušení – skutečným zařízením, které je na internetu vidět, je modem – který může být často integrován se směrovačem, ale může to být také samostatný box.
nebo jakýkoli jiný stroj s Připojení k internetu.

Teď k tomu, co chcete:

  1. Povolit ssh přístup k vašemu počítači z internetu je špatný nápad. Existují tisíce robotů nastavených crackery které na internetu vyhledávají stroje s otevřeným portem SSH. Obvykle „klepnou“ na výchozí port SSH tolika IP, kolik jen mohou, a jakmile někde najdou běžícího démona SSH, pokusí se získat bruteforce přístup ke stroji. To není jen riziko potenciálního vloupání, ale také zpomalení sítě, když je počítač brutálně vynucen.

  2. Pokud takový přístup opravdu potřebujete, měli byste alespoň

    • ujistěte se, že máte silné hesla pro všechny uživatelské účty,

    • zakázat přístup root přes SSH (vždy se můžete přihlásit jako normální uživatel a su nebo sudo pak),

    • změnit výchozí port, na kterém poběží váš server SSH,

    • zavést mechanismus, který znemožňuje četné pokusy o přihlášení přes SSH (s prodlužující se dobou čekání na další pokusy – už si nepamatuji, jak se to přesně nazývá – měl jsem to povoleno před časem na FreeBSD a vzpomínám si, že to bylo docela snadné – zkuste prohledání některých fór FreeBSD atd. o zabezpečení SSH a najdete to.)

    • Pokud je to možné, zkuste ssh démona spouštět pouze tehdy, když víte, že v blízké budoucnosti budete k počítači přistupovat, a poté jej vypněte

  3. Zvykněte si na procházení systémových protokolů. Pokud si začnete všímat něčeho podezřelého, zaveďte další bezpečnostní mechanismy, jako jsou tabulky IP nebo klepání portu .


Linux
  1. Připojení Ssh odmítnuto zevnitř sítě Lan?

  2. Jak získat přístup k internetu z virtuálního počítače v Gnome Boxech?

  3. Změňte port SSH v CentOS a Red Hat

  1. Změňte port SSH v operačním systému Linux Ubuntu

  2. Mám změnit výchozí port SSH na linuxových serverech?

  3. IPTables – Port na jinou IP a port (zevnitř)

  1. Zastavit ssh přihlášení z tisku motd z klienta?

  2. Jak nastavit ssh tunel pro předávání ssh?

  3. SSH - Jak zahrnout příkaz -t do souboru ~/.ssh/config