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.
Kommentit
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”
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 kullekinls
). - 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?
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.