Portál AbcLinuxu, 13. května 2025 00:33

Dotaz: ssh server + port forwarding

14.2.2010 13:10 adrinko | skóre: 22
ssh server + port forwarding
Přečteno: 1438×
Odpovědět | Admin
Ahojte prosim Vas, potreboval by som na debiane rozchodit ssh server, aby sa mohol uzivatel cez putty pripajat na konkretny port. Zaroven po pripojeni na tento port musi debian port-forwardovat vsetku komunikaciu na zadanu inu IP:port. ako by som toto docielil?

vdaka.

P.S. neviete o nejako step-by-step postupe na toto? :)
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

14.2.2010 13:27 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: ssh server + port forwarding
Odpovědět | | Sbalit | Link | Blokovat | Admin
Na serveru normálně zprovozníte OpenSSH server. Pak se připojíte k serveru příkazem ssh -L 1234:example.com:5678 server – nyní když se připojíte na lokálním počítači na port 1234, půjde komunikace tunelem na server a odsud se připojí k počítači example.com na port 5678. V Putty je to v konfiguraci spojení pod Connection – SSH – Tunnels, zvolíte Local, zdrojový port 1234 a cíl example.com:5678, použití bude stejné, jako v předchozím případě.
14.2.2010 13:30 ZAH | skóre: 43 | blog: ZAH
Rozbalit Rozbalit vše Re: ssh server + port forwarding
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nerozumím vašemu dotazu.

a) chcete debian s ssh servrem , který budede odposlouchávat.

b) chcete debian s ssh servrem a zároveň ho používat jako tunel na další stroj.
14.2.2010 13:31 l4m4
Rozbalit Rozbalit vše Re: ssh server + port forwarding
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ty požadavky si trochu odporují ne?

Buď chceš forwardovat konkrétní port na serveru port na IP:port, pak to uděláš přes iptables a ssh server tam běžící do toho vůbec netaháš.

Nebo chceš nechat uživatele připojit k sshd běžící na daném portu a poté otevřít port pro forwarding jiných spojení, což tedy normálně dělá sám uživatel ssh -L a podobně (pomocí PermitOpen mu můžeš přesně nastavit, co smí).

Pokud opravdu chceš, aby se uživatel přihlásil přes ssh na serveru a poté se začaly pakety tohoto spojení posílat kamsi jinam, tak to jednak nedává smysl (mimo jiné to kdesi jinde nemá host natož session key) a jednak nepůjde.
14.2.2010 14:35 adrinko | skóre: 22
Rozbalit Rozbalit vše Re: ssh server + port forwarding
ide mi o to, aby sa putty pripojilo na debian (ten ma nastavene ucty a userov), debian overi uzivatela a ak je ok, tak forwarduje jeho celu komunikaciu na inu IP:port.

tu je obrazok na to, co potrebujem spravit

Legenda v mojom pripade:

putty - client

debian - sshdserver

ina IP:port - appserver

pre upresnenie - najradsej by som to postavil na openssh (obrazok z ssh.com je len na ilustraciu)

dakujem
14.2.2010 15:26 NN
Rozbalit Rozbalit vše Re: ssh server + port forwarding
Precti si jeste jednou prvni odpoved!

NN
14.2.2010 15:42 adrinko | skóre: 22
Rozbalit Rozbalit vše Re: ssh server + port forwarding
dakujem precital som si. ale pokial tomu dobre rozumiem, tak adresou example.com:5678 sa rozumie posledny stroj v rade, ktory nastavujem v putty. blbe je, ze uzivatel s putty nevie adresu posledneho stroja, on vie len adresu mojho debiana. a az moj debian vie adresu example.com:5678, takze az on obhospodaruje nastavenie smerovania dalej na koncovy server. toto nastavit v openssh neviem..
14.2.2010 16:38 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: ssh server + port forwarding
Tak těm uživatelům dejte jako tu koncovou adresu nějakou univerzální, a na serveru s SSH si to přesměrujte na správnou adresu třeba pomocí DNATu. Tj. uživatelům rozdejte adresy třeba 127.0.0.2:2001, 127.0.0.2:2002 atd., které jim povolíte pomocí PermitOpen. Pak si udělejte DNAT, který 127.0.0.2:2001 přesměruje na server1, 127.0.0.2:2002 na server2 atd.

Nevím, o co se snažíte, takže těžko říct, zda tohle bude nejlepší řešení, nebo zda by nebylo lepší uživatelům dát jiný shell, který bude jejich terminál forwardovat na další stroj, nebo zda by nebylo lepší použít VPN…
14.2.2010 16:55 adrinko | skóre: 22
Rozbalit Rozbalit vše Re: ssh server + port forwarding
ide mi o nieco taketo:

uzivatel ma aplikaciu, ktora pracuje na istom porte. do tejto aplikacie sa zadava cielova IP, na ktoru sa aplikacia pripoji. Tuto IP pozna ale iba server s debianom (aplikacia u kazdeho uzivatela sa pripaja ale na inu unikatnu IP).

Potrebujem preto nejako zarucit, aby sa najprv nadviazalo spojenie s debianom, overil sa uzivatel (ci ma povolenie na pracu s danou vzdialenou IP) a dalej cela komunikacia tiekla cez tento stroj s debianom.

Uvazoval som tak, ze by sa kazdy user najrpv pripojil na debian cez ssh (kazdy by mal prideleny vlastny port na ssh), debian by overil uzivatela a dalej na zaklade jeho mena a pouziteho ssh portu by smeroval dalej komunikaciu na ulozenu IP.

alebo existuje nieco jednoduchsie?
14.2.2010 17:23 tomk
Rozbalit Rozbalit vše Re: ssh server + port forwarding
Pokud budeme brat tu zvlastni vec, ze uzivatel ma na pevno zadanou prakticky libovolnou IP adresu, na kterou se aplikaci pripojuje, jako danou, tak to pomoci ssh IMHO resit nejde. SSH klient nezmeni smerovani na klientskem PC. Na toto bude potreba spis neco typu OpenVPN, kde si klient upravi svoji smerovaci tabulku na zaklade informaci od serveru. Tim je mozne zajistit, ze se komunikace te aplikace dostane na server, kde je mozne ji pomoci iptables DNATovat na pozadovanou cilovou adresu a port.

Tomas
14.2.2010 18:26 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: ssh server + port forwarding
Pokud můžete těm uživatelům rozdat různé údaje (tj. každý uživatel dostane jinou IP adresu a/nebo jiný port), můžete to vyřešit způsobem, který jsem popsal v předchozím komentáři.
14.2.2010 20:25 juhgfds
Rozbalit Rozbalit vše Re: ssh server + port forwarding
Forwardujte pomoci ssh lokalni port na stanici, kde bezi ona podivuhodna aplikace. Do aplikace pak budete zadavat jako ip adresu 127.0.0.1
14.2.2010 20:54 adrinko | skóre: 22
Rozbalit Rozbalit vše Re: ssh server + port forwarding
Páni, asi som to napisal nezrozumitelne.

User sa ma vzdy pripajat na debian. A az ten rozhadzuje komunikaciu podla mena usera/alebo prave zvoleneho portu dalej na rozne IP:porty. User vie vzdy iba IP debianu (a popripade unikatny prideleny port pre toho usera). A debian ma zariadit, aby user Michal pri pouziti portu 100 bol nasmerovany na stroj s ip 1.1.1.1:400. Takze user spusti aplikaciu a ta bez jeho vedomia ide cestou na server a z neho dalej ku cielovemu pocitacu.
14.2.2010 20:58 jhgfd
Rozbalit Rozbalit vše Re: ssh server + port forwarding
A v cem je problem?
14.2.2010 22:21 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: ssh server + port forwarding
Řešení popsané v komentáři 7 vám nevyhovuje proč?
14.2.2010 23:01 adrinko | skóre: 22
Rozbalit Rozbalit vše Re: ssh server + port forwarding
pardon, potom som to asi nepochopil uplne spravne.

Skusim to zhrnut, ako som to pochopil:
prikaz ssh -L 1234:127.0.0.2:2001 222.222.111.111 mi sposobi to, ze spojenie bude utekat na server(222.222.111.111), tam mu "povie", ze ma ist dalej na 127.0.0.2:2001. Na serveri sa ale nastavi DNAT, ktory prehodi adresu 127.0.0.2:2001 na povedzme 212.20.20.134:400.
T.j. ak teda na 212.20.20.134:400 bezi webserver, tak by sa defaultna stranka mala zobrazit na klientovom pocitaci ak zada adresu localhost:1234, je tak?

Otazocka este je, ako server overi to, ze konkretny uzivatel moze pouzit len konkretnu adresu napr.127.0.0.2:2001? Ide o to, aby hocijaky uzivatel si jednoduchou editaciou portu za 127.0.0.2:xxxx nemohol otvorit inu cielovu adresu.

dakujem za trpezlivost :-)

15.2.2010 08:17 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: ssh server + port forwarding
V sshd_config použijte PermitOpen, kterou každému uživateli povolíte tunel jen na tu jeho adresu a port. Prvnímu uživateli povolíte přístup na 127.0.0.2:2001 atd.

Předpokládá to ale, že uživatelé budou mít na cílovém stroji omezený shell (který jim v ideálním případě nedovolí spouštět vůbec nic), protože jinak se mohou přihlásit na cílový počítač a třeba pomocí telnetu se na danou adresu připojit přímo. To byste ale musel vyřešit v každém případě. Ze vzdáleného počítače se na tu adresu připojit nepůjde, protože je to místní adresa z rozsahu 127.0.0.0/24 (pokud byste použil nějakou jinou, můžete přístup k ní omezit na firewallu – tunelované spojení bude pocházet přímo ze serveru, takže k této adrese můžete zamítnout přístup ze sítě). Na tu adresu 127.0.0.2 si dejte pozor, mohla by se chovat trochu nestandardně (já jsem to s ní nezkoušel), ale myslím, že v novějších jádrech už problém s NATem nedělá.
15.2.2010 17:13 adrinko | skóre: 22
Rozbalit Rozbalit vše Re: ssh server + port forwarding
Zaujala ma tato vasa veta
"Ze vzdáleného počítače se na tu adresu připojit nepůjde..."
Ono by to malo ist touto cestou: klient s putty z internetu ide na server debian -> on posle komunikaciu dalej na ip:port do internetu na vzdialeny pocitac.
15.2.2010 17:22 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: ssh server + port forwarding
Bylo to myšleno tak, že na adresu 127.0.0.2 se nepůjde připojit přímo z jiného počítače. Jediná možnost je připojit se (jakkoli) na ten server a z něj už se pak lokálně jde na tuto adresu připojit.
21.2.2010 14:14 adrinko | skóre: 22
Rozbalit Rozbalit vše Re: ssh server + port forwarding
dobry den, dostal som sa az teraz k pokusom...
prosim o pomoc s tymito dvomi vecami:

mohli by ste mi pls napisat priklad k tomuto V sshd_config použijte PermitOpen, kterou každému uživateli povolíte tunel jen na tu jeho adresu a port. Prvnímu uživateli povolíte přístup na 127.0.0.2:2001 atd. ?

druha vec: ako prosim nastavim toto? Pak si udělejte DNAT, který 127.0.0.2:2001 přesměruje na server1, 127.0.0.2:2002 na server2 atd.
14.2.2010 19:19 ntyrnbyr
Rozbalit Rozbalit vše Re: ssh server + port forwarding
Odpovědět | | Sbalit | Link | Blokovat | Admin
Redir portu lze pohodlne provest pomoci programu "xinetd" nebo programu redir. Oba jsou v balickach pro Debian.
14.2.2010 19:24 l4m4
Rozbalit Rozbalit vše Re: ssh server + port forwarding
A ještě lepší by bylo, kdyby sis ten dotaz přečetl...
14.2.2010 20:35 ntyrnbyr
Rozbalit Rozbalit vše Re: ssh server + port forwarding
?? Co?

Na serveru si redirnu vzdaleny port, takze ho tam mam dostupny lokalne. No a na ten server se muzu vesele SSHckovat. V cem je problem?
14.2.2010 21:13 l4m4
Rozbalit Rozbalit vše Re: ssh server + port forwarding
Jak to řeší, že se konkrétní uživatel smí připojit pouze na konkrétní forwardovanou IP:port?

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.