Kirjoittaja Aihe: ssh-yhteys julkinen ip ja nat [ratkaistu]  (Luettu 7187 kertaa)

gdm

  • Sitä saa mitä tilaa...
  • Käyttäjä
  • Viestejä: 4363
    • Profiili
    • Keskustelualueiden säännöt
ssh-yhteys julkinen ip ja nat [ratkaistu]
« : 29.10.07 - klo:17.35 »
eli foorumeita selanneena, ei vastaan ole tullut ohjetta jonka ymmärtäisin ???
kaksi konetta, eri puolilla Suomea, molemmissa NAT päällä (Network Address Translation)
Julkiset IP:t eri palvelun tarjoajilta

Tilanne;
Koodia: [Valitse]
Kone A: ssh-client, iptables ja verkkopäätteestä aukaistu portti 22, Julkinen IP NATin takana.
Kone B ssh-server, iptables ja verkkopäätteestä aukaistu portti 22, julkinen IP NATin takana

Historia;
Lähiverkossa toimii ssh-yhteys ongelmitta, ja koneen A että, B sshd_config tiedostot tilkitty umpeen muilta, foorumilta löytyvien ohjeiden mukaan...

Ongelma;
Koodia: [Valitse]
koneA@ubuntu:~$ ssh koneB@julkinen.ip
ssh: connect to host julkinen.ip. port 22: No route to host

[EDIT] ongelman lisäys,
KoneB ei vastaa edes ping kyselyyn. koneB:ssä on tw501ea verkkopääte ja icmp echo reply deny muistaakseni päällä
johan sunnuntaista on pitkä aika jolloin sitä viimeksi conffasin :)

Mistäköhän löytyisi ratkaisu???
täytyy myöntää että, itselläni ei rahkeet tähän riitä
« Viimeksi muokattu: 30.10.07 - klo:21.51 kirjoittanut GoddamnDevil »
Lisää [Ratkaistu] aloitusviestiin jos ongelmasi selviää!
Saamasi tuki on ilmaista, joten älä vaadi tai uhkaile saadaksesi apua!

Ville Pöntinen

  • Käyttäjä
  • Viestejä: 2078
    • Profiili
Vs: ssh-yhteys julkinen ip ja nat
« Vastaus #1 : 29.10.07 - klo:19.07 »
Jos kone on NATin takana, ei ssh saati sitten ping pääse koneelle asti ilman nat-laitteen säätöä. PortForwarding lienee tempun nimi sunkin purkissas. En nyt kyllä ole varma mitä tarkoitat "Julkinen IP natin takana". Oire vaan sopii siihen että nat-purkki toimii palomuurina eikä vastaa ssh-pyyntöön.

Risto H. Kurppa

  • Käyttäjä
  • Viestejä: 3024
  • Useita Kubuntuja ajossa.
    • Profiili
    • http://risto.kurppa.fi
UUSI UBUNTUN KÄYTTÄJÄ: SÄÄSTÄ AIKAASI LUKEMALLA  -> TÄMÄ <-

gdm

  • Sitä saa mitä tilaa...
  • Käyttäjä
  • Viestejä: 4363
    • Profiili
    • Keskustelualueiden säännöt
Vs: ssh-yhteys julkinen ip ja nat
« Vastaus #3 : 29.10.07 - klo:23.26 »
Vastaan itselleni, kiitos mjr:lle irc-tuesta:

Kone A on siis ylläpidettävä ja SSH on portissa 22, NAT:n takana.
Kone B löytyy osoite.fi:n takaa ja SSH portissa 8000

Koneella A ajetaan seuraava:
ssh -R 8001:localhost:22 osoite.fi -p 8000

ja koneella B seuraava:
ssh localhost -p 8001

mikä on tuo portti 8001, jos koneen B:n ssh on portissa 8000 ???

ymmärsinkö oikein, kone A antaa tuolla komennolla koneelle B luvan kolkutella ovea,
ja kone B komennolla sitten aukaisee sen yhteyden.

eli menisi kai tällä lailla minun tapauksessa:
koneB
Koodia: [Valitse]
ssh R 22:localhost:22 koneA@minun.ip:22 -p 22koneA
Koodia: [Valitse]
ssh localhost -p 22
Lisää [Ratkaistu] aloitusviestiin jos ongelmasi selviää!
Saamasi tuki on ilmaista, joten älä vaadi tai uhkaile saadaksesi apua!

Risto H. Kurppa

  • Käyttäjä
  • Viestejä: 3024
  • Useita Kubuntuja ajossa.
    • Profiili
    • http://risto.kurppa.fi
Vs: ssh-yhteys julkinen ip ja nat
« Vastaus #4 : 29.10.07 - klo:23.34 »
Vastaan itselleni, kiitos mjr:lle irc-tuesta:

Kone A on siis ylläpidettävä ja SSH on portissa 22, NAT:n takana.
Kone B löytyy osoite.fi:n takaa ja SSH portissa 8000

Koneella A ajetaan seuraava:
ssh -R 8001:localhost:22 osoite.fi -p 8000

ja koneella B seuraava:
ssh localhost -p 8001

mikä on tuo portti 8001, jos koneen B:n ssh on portissa 8000 ???

ymmärsinkö oikein, kone A antaa tuolla komennolla koneelle B luvan kolkutella ovea,
ja kone B komennolla sitten aukaisee sen yhteyden.

eli menisi kai tällä lailla minun tapauksessa:
koneB
Koodia: [Valitse]
ssh R 22:localhost:22 koneA@minun.ip:22 -p 22koneA
Koodia: [Valitse]
ssh localhost -p 22


Paitsi että pidä nuo 8001:t. Ne ei voi olla 22, jos sisääntuleva on jo 22.. Mutta nuo 8000:t voit korvata 22:lla.
UUSI UBUNTUN KÄYTTÄJÄ: SÄÄSTÄ AIKAASI LUKEMALLA  -> TÄMÄ <-

gdm

  • Sitä saa mitä tilaa...
  • Käyttäjä
  • Viestejä: 4363
    • Profiili
    • Keskustelualueiden säännöt
Vs: ssh-yhteys julkinen ip ja nat
« Vastaus #5 : 30.10.07 - klo:16.04 »
Eli tarina jatkuu,
vaihdoin ssh:portin /etc/ssh_config tiedostosta porttiin 8000
ja saman tein myös sshd_config tiedostossa, millä ei kai ole väliä koska serveriä en itse pidä (ainakaan vielä)
verkkopäätteestä avattiin portit 8000 ja 8001 ja bootattu.
ssh, käynnistettiin uudestaan.

koneB:n verkkopäätteestä on portti 22 auki
puhelin käteen, ja neuvomaan koneB:n haltijaa iskemään komennot päätteeseen...

tulos, koneB
Koodia: [Valitse]
ssh: connect to host minun.ip port 800 connection refused   ##kokeiltu myös jumala@minun.ip   ei toimi
KoneA
Koodia: [Valitse]
jumala@helvetti:~$ ssh localhost -p 8001

koneB ei vastaa edes ping-kyselyyn ???

ssh: connect to host localhost port 8001: Connection refused
Lisää [Ratkaistu] aloitusviestiin jos ongelmasi selviää!
Saamasi tuki on ilmaista, joten älä vaadi tai uhkaile saadaksesi apua!

Risto H. Kurppa

  • Käyttäjä
  • Viestejä: 3024
  • Useita Kubuntuja ajossa.
    • Profiili
    • http://risto.kurppa.fi
Vs: ssh-yhteys julkinen ip ja nat
« Vastaus #6 : 30.10.07 - klo:16.06 »
Molemmissa koneissa pitää olla tietty openssh-server -paketti asennettuna


r
UUSI UBUNTUN KÄYTTÄJÄ: SÄÄSTÄ AIKAASI LUKEMALLA  -> TÄMÄ <-

gdm

  • Sitä saa mitä tilaa...
  • Käyttäjä
  • Viestejä: 4363
    • Profiili
    • Keskustelualueiden säännöt
Vs: ssh-yhteys julkinen ip ja nat
« Vastaus #7 : 30.10.07 - klo:16.11 »
molemmissa koneissa on kyseinen paketti asennettu
Koodia: [Valitse]
jumala@helvetti:~$ apt-cache policy openssh-server
openssh-server:
  Asennettu: 1:4.6p1-5build1
  Ehdokas: 1:4.6p1-5build1
  Versiotaulukko:
 *** 1:4.6p1-5build1 0
        500 http://fi.archive.ubuntu.com gutsy/main Packages
        100 /var/lib/dpkg/status

toinen kone on Tampereella äitini hoivissa, laitoin viime viikonloppuna siihen gutsyn ja conffasin käyttökuntoon, myös asensin kyseisen paketin siihen, koska äitini tuntien, kone tarvitsee etä-hoitoa :)

[Edit] lisäystä portti-infoon, tämä siis minun koneella
Koodia: [Valitse]
jumala@helvetti:~$ cat /etc/ssh/ssh_config |grep Port
    Port 8000
jumala@helvetti:~$ cat /etc/ssh/sshd_config |grep Port
Port 8000
jumala@helvetti:~$

Äitini koneella kyseiset portit on edelleen 22

« Viimeksi muokattu: 30.10.07 - klo:16.20 kirjoittanut GoddamnDevil »
Lisää [Ratkaistu] aloitusviestiin jos ongelmasi selviää!
Saamasi tuki on ilmaista, joten älä vaadi tai uhkaile saadaksesi apua!

Ville Pöntinen

  • Käyttäjä
  • Viestejä: 2078
    • Profiili
Vs: ssh-yhteys julkinen ip ja nat
« Vastaus #8 : 30.10.07 - klo:17.33 »

Itsellä molemmissa koneissa ssh conffattu kuuntelemaan porttia 22. Vain toinen koneista on NAT:n takana, jota en pääse säätämään. Olkoon se kone A.

Siitä otan yhteyden kotikoneeseen:

Koodia: [Valitse]
ssh -R 8001:localhost:22 ville@koneen_B_IP
Eli "normaali" ssh-yhteys porttiin 22. Tosin R-vipu avaa koneelle B tunnelin, jonka osoite on localhost:8001. Eli kotiin mentyäni voin käskeä:

Koodia: [Valitse]
ssh ville@localhost -p 8001
Ja toimii.

Jos olen ymmärtänyt oikein, ovat molemmat koneesi NAT:n takana. Itselle on riittänyt säätää kotimodeemiin (toinen kone on siis töissä) portforwarding koneen B kiinteään sisäverkon IP-osoitteeseen. Eli esimerkkini koneen B kätkemään NAT-laiteeseen olisi saatava tuo portforwarding tehtyä.

gdm

  • Sitä saa mitä tilaa...
  • Käyttäjä
  • Viestejä: 4363
    • Profiili
    • Keskustelualueiden säännöt
Vs: ssh-yhteys julkinen ip ja nat
« Vastaus #9 : 30.10.07 - klo:18.06 »
jeps, vaihdettiin ssh portti takaisin 22 ja kokeiltiin pontvilin ohjetta

Koodia: [Valitse]
ssh -R 8001:localhost:22 jumala@minun_ip_   ## herjaa: connection refused
omalla koneellani käskin
Koodia: [Valitse]
ssh jumala@localhost -p 8001   ## herjaa: connection refused
molemmista verkkopäätteistä on seuraavat portit auki
Koodia: [Valitse]
22, 8000, 8001
Lisää [Ratkaistu] aloitusviestiin jos ongelmasi selviää!
Saamasi tuki on ilmaista, joten älä vaadi tai uhkaile saadaksesi apua!

Ville Pöntinen

  • Käyttäjä
  • Viestejä: 2078
    • Profiili
Vs: ssh-yhteys julkinen ip ja nat
« Vastaus #10 : 30.10.07 - klo:18.24 »
jeps, vaihdettiin ssh portti takaisin 22 ja kokeiltiin pontvilin ohjetta

Koodia: [Valitse]
ssh -R 8001:localhost:22 jumala@minun_ip_   ## herjaa: connection refused
omalla koneellani käskin
Koodia: [Valitse]
ssh jumala@localhost -p 8001   ## herjaa: connection refused
molemmista verkkopäätteistä on seuraavat portit auki
Koodia: [Valitse]
22, 8000, 8001

Jälkimmäinen herja on varma/itsestään selvä, kun ei ensimmäisenä otettu yhteys ole saanut "takaporttia" auki.

Verkkopäätteissä portit auki "<>" tehty modeemiin porttiohjaus.

Eli useimpia modeemeja hallitaan selaimella. Sisäverkon koneella surffataan purkin osoiteeseen (esim. 192.168.1.1) ja siellä säädetään portforwarding.

"Portin avaamista" en tunne...

Tavallisesti tilannehan on tämä: Modeemi (jossa on NAT ja sitä kautta myös yleensä päällä oleva palomuuri) saa internetoperaattorilta julkisen IP:n. Tähän tulevat paketit, joita käyttäjä (eli sisäverkon kone) ei ole aloittanut, se hylkää, kuten mikä tahansa palomuuri.

Purkkiin siis säädetään tuo portforwarding ko. portin (22 tai mitä ikinä ssh on asetettu kuuntelemaan) kohdalle. Eli purkin vastaanottamat paketit (julkinen ip-osoite) päästetään sisäverkon puolelle ja määritettyyn osoitteeseen (sun kotikoneen sisäverkon kiinteä ip).

Portforwarding siis vaatii kaksi tietoa: mihin porttiin tulevan liikenteen sallitaan päästä sisäverkkoon ja mihin osoitteeseen se ohjataan. Tässä siis ehdottomasti kannattaa asettaa (sun koti-)kone käyttämään kiinteätä ip-osoitetta. Itsellä esim. se on 192.168.1.100 (koska purkkini määrittää sisäverkoksi 192.168.1.* -osoiteavaruuden).

Toivottavasti auttoi, vaikeata välillä kirjoittaa hyviä ohjeita, kun ei tiedä paljonko lukija tietää ennestään...

EDIT: Sitä konetta, josta ensimmäinen yhteys otetaan, suojaavaa purkkia ei tarvitse avata.
« Viimeksi muokattu: 30.10.07 - klo:18.25 kirjoittanut pontvil »

gdm

  • Sitä saa mitä tilaa...
  • Käyttäjä
  • Viestejä: 4363
    • Profiili
    • Keskustelualueiden säännöt
Vs: ssh-yhteys julkinen ip ja nat
« Vastaus #11 : 30.10.07 - klo:19.02 »
lisäinfoa;

Koodia: [Valitse]
jumala@helvetti:~$ cat /etc/palomuuri
# Generated by iptables-save v1.3.6 on Tue Oct 30 16:50:48 2007
*filter
:INPUT DROP [1391:99508]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 6881 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 6882 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 1863 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 4612 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 8001 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 8000 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A OUTPUT -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT COMMIT
# Completed on Tue Oct 30 16:50:48 2007
nämä iptables säädöt on molemmissa koneissa samanlaiset

Sitten selaimella hallittaviin modeemeihin,
itselläni toimii 192.168.0.1
ja koska kyseisessä purkissa on vain yksi ethernet reikä, saa sisäverkon ip olla 192.168.02

tähän osoitteeseen on sallittu liikenne portista 22 ## sekä tietenkin muutamat muut eri ohjelmat jotka sellaisen vaatii;)

Lisää [Ratkaistu] aloitusviestiin jos ongelmasi selviää!
Saamasi tuki on ilmaista, joten älä vaadi tai uhkaile saadaksesi apua!

gdm

  • Sitä saa mitä tilaa...
  • Käyttäjä
  • Viestejä: 4363
    • Profiili
    • Keskustelualueiden säännöt
Vs: ssh-yhteys julkinen ip ja nat
« Vastaus #12 : 30.10.07 - klo:19.06 »
Toivottavasti auttoi, vaikeata välillä kirjoittaa hyviä ohjeita, kun ei tiedä paljonko lukija tietää ennestään...

Tämä on itsestään selvä, kaikille ei voi selittää kuin viisivuotiaalle, saattavat jopa ottaa vesimelonin vasempaan sieraimeen ;)
Mutta edes se että, kirjoittaa ohjeita toisille, saati auttaa on kumarruksen arvoinen suoritus.
Lisää [Ratkaistu] aloitusviestiin jos ongelmasi selviää!
Saamasi tuki on ilmaista, joten älä vaadi tai uhkaile saadaksesi apua!

Ville Pöntinen

  • Käyttäjä
  • Viestejä: 2078
    • Profiili
Vs: ssh-yhteys julkinen ip ja nat
« Vastaus #13 : 30.10.07 - klo:19.26 »

Mitäs tiedoston /var/log/auth.log lopussa näkyy, kun olet yrittänyt yhteyttä. Itsellä (nyt töissä kokeiltuna) tulle onnistuneen yhteyden merkiksi rivi

Koodia: [Valitse]
Oct 30 19:18:25 localhost sshd[17211]: Accepted password for ppaavo from 10.4.4.150 port 38570 ssh2
Epäonnistunut näyttää tältä:

Koodia: [Valitse]
Oct 30 19:20:09 localhost sshd[17377]: Failed password for invalid user tottoroo from 10.4.4.150 port 54868 ssh2
,jos salasana on väärä ja tältä:

Koodia: [Valitse]
Oct 30 19:21:47 localhost sshd[17408]: Failed password for invalid user ville from 10.4.4.150 port 54870 ssh2
,jos sisään yrittää käyttäjä, joka ei ole listattu rivillä AllowUsers tiedostossa /etc/ssh/sshd.config.

Joka tapauksessa, jos yritys pääsee palomuurin läpi, pitäisi tuonne tulla jotain. Itse en käytä iptablesia, mutta kai senkin estämät tapahtumat johonkin lokiin menevät. Niitä nuuskimalla voisi viisastua.

Mutta edes se että, kirjoittaa ohjeita toisille, saati auttaa on kumarruksen arvoinen suoritus.

Sitä saa mitä tilaa, täältä olen itsekin saanut korvaamatonta opastusta.

gdm

  • Sitä saa mitä tilaa...
  • Käyttäjä
  • Viestejä: 4363
    • Profiili
    • Keskustelualueiden säännöt
Vs: ssh-yhteys julkinen ip ja nat [ratkaistu]
« Vastaus #14 : 30.10.07 - klo:21.47 »
Elikkäs, ratkaisu on varsin yksinkertainen :)

noudata ohjeita

muokataan
Koodia: [Valitse]
gksudo gedit /etc/ssh/sshd_config
Koodia: [Valitse]
# What ports, IPs and protocols we listen for
Port 8000  # turvallisuus syistä tämä kannattaa vaihtaa pois oletuksesta (22)
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
ListenAddress 192.168.0.2  #tähän laitetaan oman koneen sisäinen ip,

edelliset muutokset ovat varsin tarpeellisia portti-ohjauksen kannalta!
käynnistetään ssh uudestaan
Koodia: [Valitse]
sudo /etc/init.d/ssh restarttarkista että, modeemista ja palomuurista on portti avoinna asettamallesi portille!!!

hyvä tapa on noudattaa näitä ohjeita :)
kiitos, Raimo

esim, aukaistaan portti 8000 iptables:sta
Koodia: [Valitse]
sudo iptables -A INPUT -p tcp --dport 8000 -j ACCEPTmuista tallentaa, ja noudattaa Raimon ohjeita ;)

käynnistetään verkko uudestaan
Koodia: [Valitse]
sudo /etc/init.d/networking restart
otetaan yhteys haluttuun koneeseen :)
Koodia: [Valitse]
ssh tunnus@ulkoinen.ip.osoite -p 8000 # -p 8000 on kohdekoneen ssh portti mikä vaihdettiin pois oletuksesta
yhteys kysyy hyväksytkö yhteyden, hyväksytään ohjeen mukaisesti kirjoittamalla
Koodia: [Valitse]
yesseuraavaksi nähdäänkin seuraavaa terminaalissa
Koodia: [Valitse]
tunnus@palvelin:~$
ja hallitaan etänä toista konetta :)
Lisää [Ratkaistu] aloitusviestiin jos ongelmasi selviää!
Saamasi tuki on ilmaista, joten älä vaadi tai uhkaile saadaksesi apua!