Az A számítógép (feltételezve, hogy az ip értéke 444.44.44), képes a 130.89.148.12 gazdagépre.

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. 

A B számítógép (az én helyi számítógépem) nem tudja az ftp-t a 130.89.148.12. Építsünk egy ssh alagutat ssh paranccsal:

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

A helyi számítógépem és az A számítógépem (44.44.44.44) közötti ssh alagutat azután csatlakoztattuk, hogy jelszó a 44.44.44.44. bejelentkezéshez.
Ezután írja be a parancsot a helyi pc-konzolomra:

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

Mi a baj az ssh alagútommal?

Gondolkodj a chexumon, a jobb ftp parancs az ftp localhost 2121, de új probléma. írja ide a kép leírását

Megjegyzések

  • Ellenőrizze a ftp(1) kézikönyvben a port megadását. ' általában szóköz (nem kettőspont), vagy -p opcióként választja el. Ön ' ll is meg kell győződnie arról, hogy passzív ftp-t használ, ezért először ellenőrizze a kézikönyvet.
  • Kérjük, ne helyezzen szöveget képként.

Válasz

Az Ön megközelítése ezt nem veszi figyelembe más általános protokollokkal ellentétben az FTP alapértelmezés szerint mind a 20., mind a 21. portot a TCP felett használja .

A passzív kifejezés arra utal, hogy a protokoll kissé jobban viselkedik, mint a kezdeti implementációk.

Itt van egy link:

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

A 20 / TCP port az adatokhoz, a 21 / TCP pedig a parancsokhoz használható .

A Unixban a privilegizált < 1024 portok is csak rootokkal köthetők meg.

Tehát akár te:

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

Így nem adsz meg extra portot, és csak

ftp -p localhost 

vagy ha nincs root:

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

, majd használja:

ftp -p -P 2121 localhost 

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

-p passzív mód

-P port

vagy a ftp olyan verziójával, amely nem támogatja a -P verziót (Debian 9 / Ubuntu 16.04):

ftp -p localhost 2121 

Hagyok egy linket az “SSH alagutak helyi és távoli port továbbításának magyarázatához”

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

Végül azt tanácsolom, hogy ne használjuk a root-ot a távoli rendszerben ssh kapcsolatokhoz. A root egy nagyon hatékony fiók, és csak a rendszergazdák számára szabad fenntartani.

Ezenkívül sok modern Linux rendszeren az ssh távoli bejelentkezés gyökérként alapértelmezés szerint le van tiltva.

Miért olyan rossz az SSH-n keresztül történő root bejelentkezés hogy mindenki azt javasolja, hogy tiltsa le?

Megjegyzések

  • Mit? Az adatkapcsolat nem használja a 20-as portot; véletlenszerű portot használ: > 1024. Úgy tűnik, hogy a ftp nem rendelkezik -P opcióval, legalábbis az Ubuntu 16.04-en nem. Így nem tudod továbbadni az ftp-t ssh-sel, mivel nem tudod ', hogy tudod, milyen véletlenszerű portot választunk az adatkapcsolat létrejöttekor (és minden átvitt fájlhoz vagy mindegyikhez kapsz egy másikat) amikor ls).
  • Nem, a szerver egy efemer portra is figyel. Meg kell, mivel több klienst is képes kiszolgálni, és ha mindegyikhez használná a 20-as portot, akkor fogalma sem lenne arról, melyik melyik vezérlő munkamenetnek felel meg.
  • Az FTP RFC-t kinyomtattam a pontomra mátrix nyomtatót és tanulmányoztam, amikor 16 éves voltam. Rájöttem, hogy kiadhat egy PASV parancsot az egyik kiszolgálónak, majd egy PORT parancsot a másik kiszolgálónak az IP címmel és a portszámmal a másik szerver PASV válaszából, és megkapja őket hogy a fájlt közvetlenül az egyik szerverről a másikra küldjem, ahelyett, hogy magamnak kellett volna letöltenem és feltöltenem a 28,8 kbps sebességű modememet. Később megjelent egy FXP nevű program, amely képes erre, és a WinNT-hez írtam egy saját FTP-kiszolgáló szoftvert is, amely minden másról lefújta a nadrágot. Nézze meg maga a PASV-választ.
  • Zavarodott vagy. Nem a 20., hanem a 21. porton hallgat. Csatlakozik a kiszolgálóhoz a 21. porton, majd vagy kiad egy PORT parancsot, megmondva a szervernek, hogy milyen IP-hez és portszámhoz kell csatlakoznia, vagy egy PASV parancsot, amely esetben elkezd hallgatni az adatkapcsolat egy ideiglenes porton, és meghatározza, melyik port van a válaszban. Az idézet pasv parancsától az ftp.gnu.org-ig: " 227 Belépés passzív módba (208,118,235,20,96,222) ". Ne feledje, hogy a szerver a 96 222-es vagy a 24 798-as porton hallgat.
  • Miért ne szerkesztené úgy, hogy helyes legyen?

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük