Tietokone A (oletetaan, että ip on 44.44.44.44) voi ftp-isäntää 130.89.148.12.

ftp 130.89.148.12 Connected to 130.89.148.12. 220 ftp.debian.org FTP server Name (130.89.148.12:debian8): anonymous 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. 

Tietokone B (paikallinen tietokone) ei voi ftp-isäntää 130.89.148.12. Rakennetaan s: t rakentamaan ssh-tunneli ssh-komennolla tällä tavalla:

ssh -L -f -N localhost:2121:130.89.148.12:21 [email protected] 

Paikallisen tietokoneeni ja tietokoneen A (44.44.44.44) välinen ssh-tunneli liitettiin sen jälkeen, kun salasana sisäänkirjautumiseen 44.4.4.4.4.44.
Syötä sitten komento paikalliseen PC-konsoliini:

ftp localhost:2121 ftp: localhost:2121: Name or service not known 

Mikä ssh-tunnelissani on vikaa?

Ajattele chexumia, oikea ftp-komento on ftp localhost 2121, mutta uusi ongelma. kirjoita kuvan kuvaus tähän

Kommentit

  • Tarkista ftp(1) -sivultasi, kuinka portti määritetään. Se ' erotetaan yleensä välilyönnillä (ei kaksoispisteellä) tai vaihtoehtona -p. Sinä ' ll on myös varmistettava, että käytät passiivista ftp: tä, joten tarkista ensin käyttöopas.
  • Älä sijoita tekstiä kuvina.

Vastaa

Lähestymistavassa ei oteta sitä huomioon toisin kuin muut yleiset protokollat, FTP käyttää sekä porttia 20 että porttia 21 TCP: n yli oletuksena .

Passiivinen termi viittaa siihen, että protokolla toimii hieman paremmin kuin alkuperäiset toteutukset.

Tässä on linkki:

http://www.slacksite.com/other/ftp.html

Porttia 20 / TCP käytetään datana ja porttia 21 / TCP komentoja varten .

Unixissa myös etuoikeutetut portit < 1024 voidaan sitoa vain juurilla.

Joten joko teet:

sudo ssh -f -N -L 20:130.89.148.12:20 -L 21:130.89.148.12:21 [email protected] 

Tällä tavalla et anna ylimääräistä porttia ja käytä sitä vain

ftp -p localhost 

tai jos sinulla ei ole juuria:

ssh -f -N -L 2120:130.89.148.12:20 -L 2121:130.89.148.12:21 [email protected] 

ja käytä sitten:

ftp -p -P 2121 localhost 

Lähettäjä man ftp http://linux.die.net/man/1/ftp

-p passiivinen tila
-P-portti

tai jos version ftp versio ei tue -P (Debian 9 / Ubuntu 16.04):

ftp -p localhost 2121 

Jätän myös linkin ”SSH-tunnelien paikallinen ja etäporttien edelleenlähetys selitetty”

http://blog.trackets.com/2014/05/17/ssh-tunnel-local-and-remote-port-forwarding-explained-with-examples.html

Lopuksi suosittelen, ettet käytä root-järjestelmää etäjärjestelmässä ssh-yhteyksiin. root on erittäin tehokas tili, ja se tulisi varata vain järjestelmän hallintaan.

Lisäksi monissa nykyaikaisissa Linux-käyttöjärjestelmissä ssh-sisäänkirjautuminen pääkäyttäjänä on oletusarvoisesti poissa käytöstä.

Miksi root-kirjautuminen SSH: n kautta on niin huono että kaikki neuvoo poistamaan sen käytöstä?

Kommentit

  • Mitä? Datayhteys ei käytä porttia 20; se käyttää satunnaista porttia > 1024. Myöskään ftp ei näytä olevan vaihtoehto -P, ainakaan Ubuntu 16.04: ssä. Siksi et voi lähettää ftp: tä eteenpäin ssh: llä, koska et tiedä ' et tiedä mikä satunnainen portti valitaan, kun datayhteys muodostetaan (ja saat eri portin jokaiselle siirretylle tiedostolle tai kullekin ls).
  • Ei, palvelin kuuntelee myös lyhytaikaista porttia. Sen on oltava, koska se voi palvella useita asiakkaita, ja jos se käyttäisi porttia 20 kullekin heistä, sillä ei olisi aavistustakaan, mikä vastaa mitä ohjausistuntoa.
  • Tulostin FTP RFC -pisteeseeni matriisitulostinta ja tutkin sitä, kun olin 16. Olen tajunnut, että voit antaa PASV-komennon yhdelle palvelimelle, sitten PORT-komennon toiselle palvelimelle ja IP-osoitteen ja portin numeron toisen palvelimen PASV-vastauksesta ja saada ne lähettää tiedosto suoraan palvelimelta toiselle sen sijaan, että minun tarvitsisi ladata ja ladata sen itse 28,8 kbps: n modeemini kautta. Myöhemmin ilmestyi ohjelma nimeltä FXP, joka pystyi tekemään sen, ja kirjoitin myös oman FN-palvelinohjelmiston WinNT: lle, joka puhalsi housut kaikesta muusta. Katso itse PASV-vastausta.
  • Olet hämmentynyt. Se kuuntelee porttia 21, ei 20. Yhdistät portin 21 palvelimeen ja sitten joko annat PORT-komennon, jossa kerrot palvelimelle, mihin IP-osoitteeseen ja portin numeroon sen on muodostettava yhteys, tai PASV-komennon, jolloin se alkaa kuunnella datayhteys lyhytaikaisessa portissa ja määrittää, mikä portti on vastauksessa. Lainauksen pasv-komennosta tiedostoon ftp.gnu.org: " 227 Siirtyminen passiiviseen tilaan (208,118,235,20,96,222) ". Huomaa, että palvelin kuuntelee porttia 96 222 tai 24 798.
  • Miksi et muokkaa sitä oikein?

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *