Fórum Root.cz

Hlavní témata => Server => Téma založeno: prezek 10. 11. 2015, 11:25:00

Název: SSH k privátní IP přes server
Přispěvatel: prezek 10. 11. 2015, 11:25:00
Ahoj. Mám raspberry PI ("malina"), které je GPRS modemem připojeno na internet a rád bych k němu měl přístup přes ssh.
Nemám k dispozici počítač s veřejnou adresou, ale můžu nastavit NAT(s pevnou veřejnou IPv4), aby mi forwardoval porty na ubuntu ve VirtualBoxu ("server").

Představoval bych si to takto:
1) "server" poslochá přes NAT na portu 1234 a na portu 2345.
2) "malina" se spojí se "serverem" přes NAT na portu 1234.
3) klient se připojí k "serveru" přes NAT na portu 2345 a tím naváže ssh spojení s "malinou"

Dokázal by mi někdo poradit, jak na to?
Díky, Petr
Název: Re:ssh připojení k privátní IP přes server
Přispěvatel: samalama 10. 11. 2015, 11:37:09
gugl ti nefunguje?
Název: Re:ssh připojení k privátní IP přes server
Přispěvatel: prezek 10. 11. 2015, 11:47:25
gogol funguje, ale nefunguje moc můj mozek a všechny příklady, co jsem zkoušel končily
Kód: [Vybrat]
ssh: connect to host localhost port 2345: Connection refused
a podobně.
na malině jsem dával
Kód: [Vybrat]
ssh -f -N -R natIP:1234:localhost:22 natIPa na serveru (to je určitě špatně)
Kód: [Vybrat]
ssh localhost -p 1234
V síťařině a Linuxu se moc nevyznám, orientuju se spíš na mikrokontrolery
Název: Re:ssh připojení k privátní IP přes server
Přispěvatel: googler 10. 11. 2015, 12:02:53
Kód: [Vybrat]
ssh -f -N -R natIP:1234:localhost:22 natIPa na serveru (to je určitě špatně)
Kód: [Vybrat]
ssh localhost -p 1234
V síťařině a Linuxu se moc nevyznám, orientuju se spíš na mikrokontrolery
Na maline zkus neco jako
Kód: [Vybrat]
ssh -R 1234:localhost:22 natIPpripadne s parametrem -vvv a spolecne s /var/log uvidis, co se tam deje. Pozor na iptables, selinux.
Kdyz toto zafunguje, tak pridas i parametry -f a -N.
Název: Re:ssh připojení k privátní IP přes server
Přispěvatel: googler 10. 11. 2015, 12:07:42
Ahoj. Mám raspberry PI ("malina"), které je GPRS modemem připojeno na internet a rád bych k němu měl přístup přes ssh.
Nemám k dispozici počítač s veřejnou adresou, ale můžu nastavit NAT(s pevnou veřejnou IPv4), aby mi forwardoval porty na ubuntu ve VirtualBoxu ("server").

Představoval bych si to takto:
1) "server" poslochá přes NAT na portu 1234 a na portu 2345.
2) "malina" se spojí se "serverem" přes NAT na portu 1234.
3) klient se připojí k "serveru" přes NAT na portu 2345 a tím naváže ssh spojení s "malinou"

Dokázal by mi někdo poradit, jak na to?
Díky, Petr
Jo, nectu.
Takze z maliny
Kód: [Vybrat]
ssh -p 1234 -RserverIP:2345:localhost:22 uzivatel@serverIPZe serveru pak treba.
Kód: [Vybrat]
ssh -p 2345 localhost
Název: Re:ssh připojení k privátní IP přes server
Přispěvatel: JardaP . 10. 11. 2015, 12:14:22
To, co chcete spachat, se obvykle googluje jako "reverse ssh".
Název: Re:ssh připojení k privátní IP přes server
Přispěvatel: prezek 10. 11. 2015, 13:01:00

Takze z maliny
Kód: [Vybrat]
ssh -p 1234 -RserverIP:2345:localhost:22 uzivatel@serverIP
ssh: connect to host serverIP port 1234: Connection refused

Nemělo by se na serveru nejdřív něco spustit, aby na portu 1234 něco poslouchalo?

To, co chcete spachat, se obvykle googluje jako "reverse ssh".
Bohužel jsem ale nikde nenarazil na návod, který by mi fungoval
Název: Re:ssh připojení k privátní IP přes server
Přispěvatel: JardaP . 10. 11. 2015, 13:41:17
To, co chcete spachat, se obvykle googluje jako "reverse ssh".
Bohužel jsem ale nikde nenarazil na návod, který by mi fungoval

Tohle vypada pouzitelne:

http://felipeferreira.net/index.php/2009/07/reverse-ssh-script/

Bohuzel, ten skript tam uz nejde stahnout, ale mel by byt tady: http://sukiweb.net/archivos/2007/01/30/script-para-tunel-ssh-inverso/

Zkuste ten skript trochu prelozit a vykrast, treba to to bude chrochtat.
Název: Re:ssh připojení k privátní IP přes server
Přispěvatel: googler 10. 11. 2015, 13:52:02
ssh: connect to host serverIP port 1234: Connection refused

Nemělo by se na serveru nejdřív něco spustit, aby na portu 1234 něco poslouchalo?
Treba nastavit NAT tak, aby pri pristupu na serverIP port 1234 dostal server spojeni na SSH. SSH bych na port 1234 nepresouval, tedy je to vec NATu.
Port 2345 neni treba proNATovat, kdyz nepotrebujete pristup zvenku.
Název: Re:ssh připojení k privátní IP přes server
Přispěvatel: samalama 10. 11. 2015, 13:54:28
Ahoj. Mám raspberry PI ("malina"), které je GPRS modemem připojeno na internet a rád bych k němu měl přístup přes ssh.
Nemám k dispozici počítač s veřejnou adresou, ale můžu nastavit NAT(s pevnou veřejnou IPv4), aby mi forwardoval porty na ubuntu ve VirtualBoxu ("server").

Představoval bych si to takto:
1) "server" poslochá přes NAT na portu 1234 a na portu 2345.
2) "malina" se spojí se "serverem" přes NAT na portu 1234.
3) klient se připojí k "serveru" přes NAT na portu 2345 a tím naváže ssh spojení s "malinou"

Dokázal by mi někdo poradit, jak na to?
Díky, Petr

a nemozes to natovat rovno na malinu?
Název: Re:ssh připojení k privátní IP přes server
Přispěvatel: Jenda 10. 11. 2015, 14:19:06

Takze z maliny
Kód: [Vybrat]
ssh -p 1234 -RserverIP:2345:localhost:22 uzivatel@serverIP
ssh: connect to host serverIP port 1234: Connection refused

Nemělo by se na serveru nejdřív něco spustit, aby na portu 1234 něco poslouchalo?
(nečetl jsem vlákno) To -R máš spouštět z maliny na server. A je to -R 0.0.0.0:2345:localhost:22 a na serveru musíš mít v sshd_config GatewayPorts clientspecified.
Název: Re:ssh připojení k privátní IP přes server
Přispěvatel: prezek 10. 11. 2015, 14:37:38
Díky za
a nemozes to natovat rovno na malinu?
Malina se schovává za sítí operátora (internet přes GPRS modem) a pokud vím, tak to natovat nejde

Název: Re:ssh připojení k privátní IP přes server
Přispěvatel: prezek 10. 11. 2015, 14:42:56
Treba nastavit NAT tak, aby pri pristupu na serverIP port 1234 dostal server spojeni na SSH. SSH bych na port 1234 nepresouval, tedy je to vec NATu.
Port 2345 neni treba proNATovat, kdyz nepotrebujete pristup zvenku.

Takže malina se musí připojit na server port, na kterém běží ssh a znát přístupové údaje ssh serveru? (To se mi díky tomuto příspěvku povedlo)
Pořád jsem myslel, že bude někde tunel až ke klientovi a nebude potřeba se logovat dvakrát.
Díky, Petr
Název: Re:ssh připojení k privátní IP přes server
Přispěvatel: fish 10. 11. 2015, 15:33:15
Trošku mimo vlákno reverzního ssh...
Používám s malinou k velké spokojenosti  ;)
http://www.root.cz/clanky/otevrena-alternativa-k-hamachi-se-jmenuje-n2n/ (http://www.root.cz/clanky/otevrena-alternativa-k-hamachi-se-jmenuje-n2n/)
Stačí nechat automaticky spouštět na malině a pak jen spustit na pc odkud se chcete připojit a máte oba PC jak na lokální síti.
Název: Re:ssh připojení k privátní IP přes server
Přispěvatel: googler 10. 11. 2015, 15:46:15
Treba nastavit NAT tak, aby pri pristupu na serverIP port 1234 dostal server spojeni na SSH. SSH bych na port 1234 nepresouval, tedy je to vec NATu.
Port 2345 neni treba proNATovat, kdyz nepotrebujete pristup zvenku.

Takže malina se musí připojit na server port, na kterém běží ssh a znát přístupové údaje ssh serveru? (To se mi díky tomuto příspěvku povedlo)
Pořád jsem myslel, že bude někde tunel až ke klientovi a nebude potřeba se logovat dvakrát.
Díky, Petr
Myslim, ze chces "vystavit" malina:22 na serverIP:2345 - nebo jinak, kdo se pripoji na serverIP:2345, ten se dostane na malinu:22. To bude ten tunel.

Ano, pristupove udaje serveru je treba znat - jinak bys mohl naslouchat treba na root.cz:2345. Druhe logovani je uz normalni logovani na verejnou sluzbu.

Pristupove udaje k maline taky - ze se nekam pripojis, to jeste neznamena, ze ma mit pristup kazdy. Sel by udelat "backdoor", ale to doufam nechces.
Název: Re:ssh připojení k privátní IP přes server
Přispěvatel: Jenda 10. 11. 2015, 16:43:44
Ano, pristupove udaje serveru je treba znat - jinak bys mohl naslouchat treba na root.cz:2345.
Ještě než něco provede: vygeneruj si SSH klíč a na serveru vyrob speciálního uživatele a nastav mu jako shell něco co není shell a sshčku pak dej -n -N.

Dvojí logování není potřeba, tím -R 0.0.0.0:2345:localhost:22 se port maliny vystaví na serveru zvenku (pokud máš Gatewayports clientspecified), takže se pak přihlásíš rovnou ssh -p 2345 server.

Já to tak třeba úmyslně nemám, bojím se, že by mi někdo vyplácal GPRS FUP. Takže se nejdřív přihlásím na server s -L 2345:localhost:2345 (L je opak R, to dá přece rozum :)) a pak už se přihlašuju na localhost.
Název: Re:ssh připojení k privátní IP přes server
Přispěvatel: googler 10. 11. 2015, 17:51:41
Ano, pristupove udaje serveru je treba znat - jinak bys mohl naslouchat treba na root.cz:2345.
Ještě než něco provede: vygeneruj si SSH klíč a na serveru vyrob speciálního uživatele a nastav mu jako shell něco co není shell a sshčku pak dej -n -N.
To sa pytal na toto?
Aj tak, nie som si isty, ci shell nejde obist. Ja mam radsej specifikaciu prikazu, vypnutie X forwardingu a zakaz pty v .ssh/authorized_keys.

Dvojí logování není potřeba, tím -R 0.0.0.0:2345:localhost:22 se port maliny vystaví na serveru zvenku (pokud máš Gatewayports clientspecified), takže se pak přihlásíš rovnou ssh -p 2345 server.

Já to tak třeba úmyslně nemám, bojím se, že by mi někdo vyplácal GPRS FUP. Takže se nejdřív přihlásím na server s -L 2345:localhost:2345 (L je opak R, to dá přece rozum :)) a pak už se přihlašuju na localhost.
To s tym L urcite takto funguje? (L pouzivam, ale tu mi asi uteka myslienka; mozno je to tym, ze nie je napisany host).
Riesenie by podla mna bolo -R localhost:2345:localhost:22
To sa potom na ten port da pripojit iba z localhostu toho druheho serveru. Potom mozes spravit dalsi forwarding z lokalu 2345 na vzdialene 2345, ale skoro nic tym neziskas.
Název: Re:ssh připojení k privátní IP přes server
Přispěvatel: samalama 10. 11. 2015, 19:28:15
btw, keby si na tom serveri rozbehal openvpn, tak uz si davno na maline...
Název: Re:ssh připojení k privátní IP přes server
Přispěvatel: Tomaskom 11. 11. 2015, 01:13:34
Trošku mimo vlákno reverzního ssh...
Používám s malinou k velké spokojenosti  ;)
http://www.root.cz/clanky/otevrena-alternativa-k-hamachi-se-jmenuje-n2n/ (http://www.root.cz/clanky/otevrena-alternativa-k-hamachi-se-jmenuje-n2n/)
Stačí nechat automaticky spouštět na malině a pak jen spustit na pc odkud se chcete připojit a máte oba PC jak na lokální síti.
n2n taky naprosto spokojene pouzivam, akorat ho nespoustim automaticky, misto toho mi na Rpi jako daemon bezi vlastni jabber bot (pres libpurple), kterymu zadam aby n2n s preddefinovanymi parametry spustil nebo killnul :)
Skoro jako drbat se levou nohou za pravym uchem, ja vim  ;D
Název: Re:ssh připojení k privátní IP přes server
Přispěvatel: Jenda 11. 11. 2015, 04:38:18
Dvojí logování není potřeba, tím -R 0.0.0.0:2345:localhost:22 se port maliny vystaví na serveru zvenku (pokud máš Gatewayports clientspecified), takže se pak přihlásíš rovnou ssh -p 2345 server.

Já to tak třeba úmyslně nemám, bojím se, že by mi někdo vyplácal GPRS FUP. Takže se nejdřív přihlásím na server s -L 2345:localhost:2345 (L je opak R, to dá přece rozum :)) a pak už se přihlašuju na localhost.
To s tym L urcite takto funguje? (L pouzivam, ale tu mi asi uteka myslienka; mozno je to tym, ze nie je napisany host).
Riesenie by podla mna bolo -R localhost:2345:localhost:22
To sa potom na ten port da pripojit iba z localhostu toho druheho serveru. Potom mozes spravit dalsi forwarding z lokalu 2345 na vzdialene 2345, ale skoro nic tym neziskas.

S uvedením hostů (localhost je implicitní, tak jsem ho nepsal)

Malina: ssh -R localhost:2345:localhost:22 server

Jenda: ssh -L localhost:2345:localhost:2345 server

ssh -p 2345 localhost

Kromě útokům zvenku je to taky kvůli tomu, že server nemám důvěryhodný. Tak se nemůžu přihlásit na něj a z něj na malinu. A v neposlední řadě je to také pohodlnější, protože když budu chtít kopírovat soubory (scp, rsync over ssh), tak to nemusím dělat přes server.
Název: Re:ssh připojení k privátní IP přes server
Přispěvatel: aa 11. 11. 2015, 11:28:35
S uvedením hostů (localhost je implicitní, tak jsem ho nepsal)

Malina: ssh -R localhost:2345:localhost:22 server

Jenda: ssh -L localhost:2345:localhost:2345 server

ssh -p 2345 localhost

Kromě útokům zvenku je to taky kvůli tomu, že server nemám důvěryhodný. Tak se nemůžu přihlásit na něj a z něj na malinu. A v neposlední řadě je to také pohodlnější, protože když budu chtít kopírovat soubory (scp, rsync over ssh), tak to nemusím dělat přes server.
To mas pravdu - ked to chces takto kombinovat a mas nedoveryhodny server, tak je to tvoje asi najlepsie - neriesi to ale problem dvoch prihlaseni, ked tu su zrovna 3.
Název: Re:SSH k privátní IP přes server
Přispěvatel: prezek 18. 11. 2015, 09:13:05
Díky za rady.
Reverzní ssh se mi povedlo rozjet, ale n2n mi přijde lepší. Vypadá to, že to bezobslužně funguje i po restartu (v crontab mám nastaveno po restartu spouštění edge) i po výpadku serveru.
Díky za postrčení.