ssh fra udsiden af mit hjemme-netværk

Få hjælp og support til alt server-relateret. Guides og How-to's i forbindelse med servere hører også til her.
Brugeravatar
Toddvarg
Indlæg: 842
Tilmeldt: 19. maj 2007, 19:59
Geografisk sted: Vejle

ssh fra udsiden af mit hjemme-netværk

Indlæg af Toddvarg »

Jeg har sat op en server i Norge hos min far, men når jeg satte den op tænkte jeg mig ikke om og satte den op indenfor netværket i Norge. Derfor var det ikke nogen problem med ssh forbindelserne. Da jeg prøvede at ssh fra Danmark, fik jeg

Kode: Vælg alt

ssh: connect to host 192.168.x.xx port 22: No route to host
Det jeg er i tvivl om er hvordan sætter jeg den op, så jeg kan ssh fra Danmark til Norge. Hvilket info skal jeg have og hvordan gør jeg det rent praktisk. Jeg har mulighed for at komme ind på router og pc i Norge, selv om jeg sidder i Danmark.
Ting tager tid

med venlig hilsen
Tom Oddvar Gundersen
AJenbo
Admin
Indlæg: 20878
Tilmeldt: 15. nov 2009, 15:04
IRC nickname: AJenbo
Geografisk sted: Vanløse, København

Re: ssh fra udsiden af mit hjemme-netværk

Indlæg af AJenbo »

192.168.x.x er altid lokale adresser. En mulighed er port-forwarding hvor du peger routeres port 22 (default ssh) til at viderføre alt komunikation til port 22 til den lokale maskine. Det kan kun gøres med 1 maskine pr. port, men jeg regner ikke med at det er et problem (når først du har ssh'et dig ind på den lokale maskine kan du også forbinde videre til alle andre maskiner på netværket).

Opsætningen laver du på din router og hvordan det gøres bliver du nok nød til at slå op i manualen da det kan være meget forskelligt.
thj01
Indlæg: 2667
Tilmeldt: 21. nov 2006, 10:06
Geografisk sted: Fredericia

Re: ssh fra udsiden af mit hjemme-netværk

Indlæg af thj01 »

Som AJenbo siger, så skal du have din routerens adresse på ydersiden - altså ud mod udbyderen... og håbe det ikke er en privat adresse

10.0.0.0 - 10.255.255.255
172.16.0.0 – 172.31.255.255
192.168.0.0 192.168.255.255

Dernæst skal du have sat routeren op så den tillader SSH at gå igennem. Dvs der skal åbnes til den rigtige port.

Jeg har tidligere lavet en guide til setup af SSH, hvis det kan være interessant: http://www.vidas.dk/guides/openssh.html
Forfatter til Ubuntuguiden: http://www.vidas.dk/guides/ubuntuguiden.html

Kører LTS udgaverne.

"It's always easy if you know how to do it."
Brugeravatar
Toddvarg
Indlæg: 842
Tilmeldt: 19. maj 2007, 19:59
Geografisk sted: Vejle

Re: ssh fra udsiden af mit hjemme-netværk

Indlæg af Toddvarg »

tak Ajenbo og tj,
Jeg kigger nærmere på den guide, dog det jeg har problem med er netværk i forskellige land.. Jeg har nogle spørgsmål som jeg håber svaret kan skubbe mig i den rette retning.


1. Skal jeg sætte routeren op hos modtageren, så den modtager ssh fra mig eller skal jeg sætte de to router så de har en tunnel mellem sig.
2. Hvordan vil en kode se ud. Vanligvis så ssh jeg mellom pc indenfor netværket med

Kode: Vælg alt

ssh tog@192.168.0.14
men siden jeg skal ud på nettet og over til en anden router, hvordan ville den ssh kode se ud?
3. Jeg skal kun fra 1 maskine i Danmark til 1 maskine i Norge. Hvis jeg laver den tunnel mellem de to routere, med f.eks port 555 på begge, vil det være nok at ssh med denne kode

Kode: Vælg alt

ssh -p 555 tog@192.168.0.14
(tj guide). Vil det betyde at den går ud port 555 og over til den router og ssh der indenfor netværket eller har jeg misforstået det?
Ting tager tid

med venlig hilsen
Tom Oddvar Gundersen
AJenbo
Admin
Indlæg: 20878
Tilmeldt: 15. nov 2009, 15:04
IRC nickname: AJenbo
Geografisk sted: Vanløse, København

Re: ssh fra udsiden af mit hjemme-netværk

Indlæg af AJenbo »

Hvis du laver en tunnel (her tænker jeg der tales om et rigtig VPN) vil det være som at du er inde på det andet netværk og så ville kommandoen blot være:

Kode: Vælg alt

ssh tog@192.168.x.xx

(eller bare "ssh 192.168.x.xx" hvis din bruger heder tog på begge maskiner)

Hvid laver en simpel port forwared (det nemmeste hvis det kun er dig der skal kontakte den anden maskine, og aldrig omvendt).

Kode: Vælg alt

ssh tog@xxx.xxx.xxx.xxx

xxx.xxx.xxx.xxx er den adresse vises ved at besøge en side som: http://myip.dk/ (det er din far der skal besøge siden da det er ham du forbinder til).
Den kan som thj01 skriver aldrig være inden for 10.0.0.0 - 10.255.255.255, 172.16.0.0 – 172.31.255.255, 192.168.0.0 192.168.255.255 da disse adresser ikke er globalt tilgængelige på internettet men KUN på et lokalt netværk.
Dette er adressen på hans internet router, den vil muligvis kunne skifte efter godt befindende fra hans internet udbyder, men normalt ligger de relativt stabil så længe man ikke slukker for ens modem.
Brugeravatar
Toddvarg
Indlæg: 842
Tilmeldt: 19. maj 2007, 19:59
Geografisk sted: Vejle

Re: ssh fra udsiden af mit hjemme-netværk

Indlæg af Toddvarg »

Det vil sige at myip viser hvad den enkeltes maskines ip adresse er på nettet, hvis jeg skal direkte i kontakt med den?

Den anden mulighed som jeg ikke har checket nærmere endnu er at det på routeren er en mulighed for vpn-client og vpn-server, og siden min far og jeg har samme router, kunne det være en mulighed?
Ting tager tid

med venlig hilsen
Tom Oddvar Gundersen
AJenbo
Admin
Indlæg: 20878
Tilmeldt: 15. nov 2009, 15:04
IRC nickname: AJenbo
Geografisk sted: Vanløse, København

Re: ssh fra udsiden af mit hjemme-netværk

Indlæg af AJenbo »

Nej, myip viser dig hvilken ip-adresse dit netværk (din router) har ud til internettet. Når man er forbundet til internettet via en router/nat vil det være routeren der står for at kommunikere med omverdenen da de enkelte maskiner på netværket ikke har direkte adgang til internettet og der for heller ikke kan kontaktes individuelt ude fra. Så hvis din far har 2 maskiner på det samme netværk vil de begge vise den samme adresse når han besøger myip.dk.

Det du gør når du sætter port-forwarding op i din router er at du fortæller routeren at den i stedet for selv at håndtere kommunikation (standard er at afvise) for en port, skal videresende det til en bestempt port på en maskine på det interne netværk.
Du forbinder til routeren og rotueren forbinder til din fars maskine.

Dette sætter nogle begrænsninger så hvis du samtidig skulle forbinde til han netværks printer eller administrere flere maskiner der ofte skifter adresse, kan det være en fordel at sætte et VPN op i stedet. Men når du blot skal have fast i en enkelt service fra en enkelt maskine kan port-forwarding vær en simple løsning.
Bemærk også at hvis din fars maskine en dag får en anden ip på det interne netværk (kan ske hvis ikke du sætter en statisk ip på den og den er slukket i længere tid) vil du skulle rette port-forward opsætningen så den igen peger på hans interne adresse.
Brugeravatar
Toddvarg
Indlæg: 842
Tilmeldt: 19. maj 2007, 19:59
Geografisk sted: Vejle

Re: ssh fra udsiden af mit hjemme-netværk

Indlæg af Toddvarg »

Jeg kalder de 2 routere Norge og Danmark for enkelthedens skyld. Jeg fandt ip adressen og når jeg sætter den ind

Kode: Vælg alt

gundersen@gundersen-desktop:~$ ssh tog@xx.xxx.xxx.xxx
ssh: connect to host xx.xxx.xxx.xxx port 22: Connection timed out
gundersen@gundersen-desktop:~$
bliver resultatet dette. Er det fordi Norge lukket for at komme ind?

Jeg var inde på routeren og fandt muligheden for port forward. Er det her jeg skal indsætte på Norge, så source ip (Danmark) er min og den lokale (Norge) er den jeg skal ind på?
Skærmbillede fra 2017-10-25 21-35-58.png
Skærmbillede fra 2017-10-25 21-35-58.png (35.27 KiB) Vist 1020 gange

Man får også mulighed at vælge fra server list, hvad vælger jeg der?
IP6 tunnel eller FTP eller ....?
2.jpg
2.jpg (1.04 MiB) Vist 1020 gange

Eller er det sådan at så længe "source ip" og "local ip" er korrekt, så kan jeg vælge "local port" selv. Og hvad skal i så fald "protocol" være? Mulighederne er TCP, UDP. BOTH og OTHER.
Mange spørgsmål for at forstå lidt mere her i livet :D
Ting tager tid

med venlig hilsen
Tom Oddvar Gundersen
AJenbo
Admin
Indlæg: 20878
Tilmeldt: 15. nov 2009, 15:04
IRC nickname: AJenbo
Geografisk sted: Vanløse, København

Re: ssh fra udsiden af mit hjemme-netværk

Indlæg af AJenbo »

Enable Port Forwarding: Yes

Service Name: SSH-til-far
Source IP: (for sikkerhedesskyld kan du sætte den til din danske IP så vil det nok kun være der fra du kan forbinde)
Port Range: 22 (norge routeres, port den du forbinder til, så her har du frit valg)
Local IP: 192.168.x.xx (din fars maskines lokale ip)
Local Port: 22 (den port din fars maskine lytter til SSH forbindelser på)
Protocol: TCP (jeg er næsten helt sikker på SSH er via TCP, men du kan jo sætte den til begge, prøve eller slå det op :) )

Det burde være det hele.

P.s. bemærkede at du hade problemer med at tage et skærmbillede af en åben menu, det kan gøres ved at åbne programmet skræmbillede og sætte den til at tage et billede efter et par sekunder, trykke ok og så åbne menuen inden for de sekunder.
lath
Indlæg: 5095
Tilmeldt: 27. apr 2008, 02:16
IRC nickname: lars_t_h
Geografisk sted: Fyn

Re: ssh fra udsiden af mit hjemme-netværk

Indlæg af lath »

Toddvarg skrev:Jeg kalder de 2 routere Norge og Danmark for enkelthedens skyld. Jeg fandt ip adressen og når jeg sætter den ind

Kode: Vælg alt

gundersen@gundersen-desktop:~$ ssh tog@xx.xxx.xxx.xxx
ssh: connect to host xx.xxx.xxx.xxx port 22: Connection timed out
gundersen@gundersen-desktop:~$
bliver resultatet dette. Er det fordi Norge lukket for at komme ind?


Det er korrekt.
Det routeren, som har den offentlige IP adresse: xxx.xxx.xxx.xxx blokerer for indadgående "opkald".

Toddvarg skrev:Jeg var inde på routeren og fandt muligheden for port forward. Er det her jeg skal indsætte på Norge, så source ip (Danmark) er min og den lokale (Norge) er den jeg skal ind på?

Jeg vil være sikker på at du forstår det, så jeg pinder det lidt ud.

Routeren du skal konfigurere er din far's router, ikke routeren hjemme hos dig selv.

Local port er et TCP port nummer for SSH serveren der kører på din far's computer. Normalt bruges port 22 for SSH servere, så hvis SSH serveren på din far's computer bruger den normale/standard SSH port, så er local port = 22.

Routeren skal også vide den lokale IP adresse. Den lokale IP adresse er IP adreesen for den computer, som SSH serveren kører på - altså din far's computer.

Du skal bruge 2 port numre til konfiguration af routeren. Den ene er local port (for SSH serven på din far's computer), og den anden er port nummeret for SSH trafik der ankommer til din far's router ude fra internettet - altså via den offentlige IP adresse. du bestemmer selv hvad det andet port nummer skal være.

DNS, og DHCP

DHCP er en protokol som en computer bruger når den skal have en IP adresse. Du bliver ramt dobbelt, idet at en router kører en DHCP server, og den kan finde på at give en far's computer en anden IP adresse, hvilket er problematisk.

Der er også DHCP imellem router og internetudbyderen

Problem opstår både på det lokale netværk imellem routeren og din far's computer, og så i mellem din far's internet udbyder (ISP).

Det lokale netværk

Løsningen er at bruge en statisk IP adresse for din far's computer.

Det gøres ved at begrænse hvilke IP adresse routerens DHCP server må bruge.

Derefter finder du MAC adressen på din far's computers netkort (WiFi eller Ethernet).

På routeren lader du så MAC adressen svare til en statisk IP adresse, som du vælger. Den skal ligge uden for de IP adresser som DHCP serven på routeren bruger. IP adressen er så local IP adressen (til din far's computer hvor SSH serveren kører på).


Netværket imellem router og ISP

Nogen gange bliver man nødt til at genstarte en router, og nogle ISPer lader routeren få en ny offentlig IP adresse, så der er praktisk at lade din far's router ringe en DNS service op, således at du kan finde din kan finde din far's routers offentlige IP adressen ved at bruge DNS serven fra DNS servicen.

Når du så SSHer ind til din far's SSH server så bruger dus så i stedet DNS navnet som DNS servicen giver dig, i stedet for en IP adresse.

DIY DNS

Der er også mulighed for en slags DIY DNS løsning.

Det involverer:
  • Kode: Vælg alt

    dig @ns1.google.com -t txt o-o.myaddr.l.google.com +short

    i et script på din far's computer, som gemmer resultatet i en fil (husk at fjerne begge "-tegn).
  • Github pages
  • Et github pages git arkiv
  • Scriptet skal køre som et CRON job, så filen automatisk bliver opdateret på git arkivet, hvis indholdet er ændret.
  • Scriptet laver en git commit og push på den tidligere nævnte fil , som indeholder din far's routers offentlige IP adresse.
  • Lave et lille script på din computer som først læser filen fra GitHub pages web sitet ind i en miljø variabel og derfor bruger den miljø variabel i opkaldet til SSH serveren på din far's computer.

Det er en meget god ide at kryptere IP adressen, eller du kan skrive IP adressen på en ikke-almindelig måde: En IP adresse er et tal imellem 0 og 2³², så du kan lave rrr.xxx.yyy.zzz om til et 32-bit tal skrevet som almindelig tekst, og kalde filen: "1".

32 - bit tallet for IP adressen rrr.xxx.yyy.zzz er:

Kode: Vælg alt

(256³ * rrr) + (256² * xxx) + (256¹ * yyy)  + (256⁰ *zzz)
, hvor:

  • 256⁰ = 1,
  • 256¹ = 256,
  • 256² = 256¹ *256¹ = 65536,
  • 256³ = 256² * 256¹ = 65536 * 256 = 16777216
  • rrr,xxx,yyy, og zzz alle er et tal imellem 0 og 255

Fordelen med github pages løsningen er at den ikke koster penge, og at du ikke skal til din far's computer, hvis DNS servicen laver sjove ting/lukker.

Du kan også bruget Github pages løsningen til at ringe din far's SSH server op via en terminal app på en mobil/tablet, så du kan løse et proplem for din far, hvis du ikke lige er hjemme ved din computer.

/Lars
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags
Brugeravatar
Toddvarg
Indlæg: 842
Tilmeldt: 19. maj 2007, 19:59
Geografisk sted: Vejle

Re: ssh fra udsiden af mit hjemme-netværk

Indlæg af Toddvarg »

AJenbo skrev:Enable Port Forwarding: Yes

Service Name: SSH-til-far
Source IP: (for sikkerhedesskyld kan du sætte den til din danske IP så vil det nok kun være der fra du kan forbinde)
Port Range: 22 (norge routeres, port den du forbinder til, så her har du frit valg)
Local IP: 192.168.x.xx (din fars maskines lokale ip)
Local Port: 22 (den port din fars maskine lytter til SSH forbindelser på)
Protocol: TCP (jeg er næsten helt sikker på SSH er via TCP, men du kan jo sætte den til begge, prøve eller slå det op :) )

Det burde være det hele.

P.s. bemærkede at du hade problemer med at tage et skærmbillede af en åben menu, det kan gøres ved at åbne programmet skræmbillede og sætte den til at tage et billede efter et par sekunder, trykke ok og så åbne menuen inden for de sekunder.


Hvis jeg sætter det op på denne måde som du skriver i min fars router (Norge) og jeg bruger denne kode fra mig (Danmmark)

Kode: Vælg alt

gundersen@gundersen-desktop:~$ ssh tog@xx.xxx.xxx.xxx
så vil min fars router vide at forbindelse fra denne ip adresse er ok og at den får lov til at komme i kontakt med denne lokale pc's ip-adresse, siden port forward er sat sådan op? Tak for trick med skærmbillede.

lath skrev:Løsningen er at bruge en statisk IP adresse for din far's computer.
Tak, jeg gættet at det ville være et problem så jeg satte op en statisk ip-adresse for pc'en, dog vidste jeg ikke at de forskellige ip-adresser for routeren kunne også skifte. Godt at vide.
Ting tager tid

med venlig hilsen
Tom Oddvar Gundersen
thj01
Indlæg: 2667
Tilmeldt: 21. nov 2006, 10:06
Geografisk sted: Fredericia

Re: ssh fra udsiden af mit hjemme-netværk

Indlæg af thj01 »

Ville det ikke være noget nemmere at anvende VNC, teamviewer eller et lignende program?

https://www.realvnc.com/en/connect/download/vnc/linux/

https://www.teamviewer.com/da/?pid=goog ... YFEALw_wcB

Det kræver en rimelig stor forståelse for netværk og opsætning af Linux for at få de løsninger vi taler om her til at fungere ordentligt. Især hvis de skal sikres ordentligt.
Forfatter til Ubuntuguiden: http://www.vidas.dk/guides/ubuntuguiden.html

Kører LTS udgaverne.

"It's always easy if you know how to do it."
AJenbo
Admin
Indlæg: 20878
Tilmeldt: 15. nov 2009, 15:04
IRC nickname: AJenbo
Geografisk sted: Vanløse, København

Re: ssh fra udsiden af mit hjemme-netværk

Indlæg af AJenbo »

VNC kræver også at man åbner porte for at kunne forbinde. Det bedste man lige kan gøre er at bruge reverse ssh, men det kræver så at brugeren er tilstede ved maskinen i den anden ende, og man skal stadig åbne en port (blot på ens eget netværk).

TeamViewer har også signe bagdele. Den forbinder via en central server som styres af firmaet bag TeamViewer. Det er proprietært, det kræver at brugeren aktivere det i den anden ende ved mindre man holder det kørende hele tiden.

SSH kræver teknisk set også at det bliver holdt kørende, men det er betydeligt mindre krævende og forstyre ikke på samme måde som VNC og TeamViewer. Har man kun brug for terminal adgang er det også betydeligt hurtigere og ukompliceret med SSH i forhold til VNC/TeamViewer hvor man skal transmitere den grafiske brugerflade og klikke rundt på ikoner.
Brugeravatar
Toddvarg
Indlæg: 842
Tilmeldt: 19. maj 2007, 19:59
Geografisk sted: Vejle

Re: ssh fra udsiden af mit hjemme-netværk

Indlæg af Toddvarg »

Måske har jeg ikke været tydelig nok. Jeg har lagt det op sådan at PC i Norge ikke skal køre hele tiden. Jeg får min far at tænde for den når jeg beder om det. Derefter laver jeg en backup af filer jeg gerne vil være sikker på at beholde. Det er en form for gratis sky-backup.

Nå har jeg fundet muligheden for at lave ssh dirkete fra min router til hans og ind på pc'en. Jeg har altid hørt at det sikreste er at bruge ssh, da det laver en lukket tunnel eller har jeg misforstået noget. Og med port forward, så er det kun min ip-adresse (Danmark) der får lov at komme ind på routeren i Norge, der sender den videre til den rette pc. Og ved port-forward kan jeg også vælge en anden port end 22, hvis det gør det sikrere?
Ting tager tid

med venlig hilsen
Tom Oddvar Gundersen
AJenbo
Admin
Indlæg: 20878
Tilmeldt: 15. nov 2009, 15:04
IRC nickname: AJenbo
Geografisk sted: Vanløse, København

Re: ssh fra udsiden af mit hjemme-netværk

Indlæg af AJenbo »

Skal du bare lave fil overførsler? Så er ssh et godt valg.

Ja ssh er krypteret.

Vnc er ikke, men kan køres over ssh.

Resten er rigtig forstået. At bruge en anden Port kan gøre det mere obskurt, men med en god adgangskode tror jeg du er ok, og hvis du samtidig begrænser ip er du helt sikker. Så ville jeg mene det er mere besvær end det er værd at skifte porten