Computer A (aangenomen dat ip 44.44.44.44 is) kan de host 130.89.148.12 ftp.

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. 

Computer B (mijn lokale pc) kan de host 130.89.148.12 niet ftp. Laten we op deze manier een ssh-tunnel bouwen met het ssh-commando:

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

De ssh-tunnel tussen mijn lokale pc en computer A (44.44.44.44) was daarna verbonden wachtwoord om in te loggen op 44.44.44.44.
Om vervolgens het commando in te voeren op mijn lokale pc-console:

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

Wat is er aan de hand met mijn ssh-tunnel?

Denk aan chexum, het rechter ftp-commando is ftp localhost 2121 Maar nieuw probleem. voer hier de afbeeldingbeschrijving in

Reacties

  • Controleer je ftp(1) manpage over hoe je een poort specificeert. Het ' wordt meestal gescheiden door een spatie (geen dubbele punt), of als een -p optie. U ' Ik moet er ook voor zorgen dat je passieve ftp gebruikt, dus bekijk eerst de handleiding.
  • Plaats geen tekst als plaatjes.

Answer

Uw aanpak houdt daar geen rekening mee In tegenstelling tot andere gangbare protocollen, gebruikt FTP zowel poort 20 als poort 21 via TCP standaard .

De term passief verwijst naar het feit dat het protocol zich iets beter gedraagt dan de oorspronkelijke implementaties.

Hier is een link:

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

Poort 20 / TCP wordt gebruikt voor gegevens en poort 21 / TCP voor opdrachten .

In Unix kunnen ook geprivilegieerde poorten < 1024, alleen worden gebonden door root.

Dus ofwel:

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

Op deze manier geef je geen extra poort op, en gebruik je het alleen met

ftp -p localhost 

of als je geen root hebt:

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

en gebruik dan:

ftp -p -P 2121 localhost 

Van man ftp http://linux.die.net/man/1/ftp

-p passieve modus
-P poort

of als met een versie van ftp die -P (Debian 9 / Ubuntu 16.04) niet ondersteunt:

ftp -p localhost 2121 

Ik laat ook een link achter naar “SSH-tunnels lokale en externe port forwarding uitgelegd”

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

Ten slotte zou ik adviseren om root niet te gebruiken in het externe systeem voor ssh-verbindingen. root is een erg krachtig account en mag alleen worden gereserveerd voor systeembeheer.

Bovendien wordt in veel moderne Linux-systemen ssh remote login als root standaard uitgeschakeld.

Waarom is root-inloggen via SSH zo slecht dat iedereen adviseert om het uit te schakelen?

Reacties

  • Wat? De dataverbinding maakt geen gebruik van poort 20; het gebruikt een willekeurige poort > 1024. Ook lijkt ftp geen -P -optie te hebben, althans niet op Ubuntu 16.04. U kunt dus geen ftp doorsturen met ssh omdat u niet ' weet welke willekeurige poort zal worden gekozen wanneer de gegevensverbinding tot stand is gebracht (en u krijgt een andere voor elk overgedragen bestand of elke tijd dat je ls).
  • Nee, de server luistert ook op een kortstondige poort. Het moet omdat het meerdere clients kan bedienen en als het poort 20 voor elk van hen zou gebruiken, zou het geen idee hebben welke overeenkomt met welke controlesessie.
  • Ik heb de FTP RFC op mijn punt afgedrukt matrixprinter en bestudeerde het toen ik 16 was. Ik kwam erachter dat je een PASV-commando kunt geven aan de ene server en vervolgens een PORT-commando aan de andere server met het IP-adres en poortnummer van het PASV-antwoord van de andere server en ze ophalen om het bestand rechtstreeks van de ene server naar de andere te sturen in plaats van het zelf te moeten downloaden en uploaden via mijn 28,8 kbps modem. Later kwam er een programma met de naam FXP uit dat dat kon doen, en ik schreef ook mijn eigen FTP-serversoftware voor WinNT die de broek van al het andere blies. Ga zelf naar een PASV-antwoord kijken.
  • Je bent in de war. Het luistert op poort 21, niet 20. U maakt verbinding met de server op poort 21 en geeft vervolgens een PORT-commando uit, waarbij u de server vertelt met welk IP-adres en poortnummer het moet verbinden, of een PASV-commando, in welk geval het begint te luisteren naar de gegevensverbinding op een kortstondige poort, en specificeert welke poort in het antwoord staat. Van een quote pasv-commando naar ftp.gnu.org: " 227 Passieve modus openen (208,118,235,20,96,222) ". Merk op dat de server luistert op poort 96.222 of 24.798.
  • Waarom zou je het niet bewerken zodat het correct is?

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *