PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : FTP über Script via Proxy



crackerjack
11.12.12, 12:54
Hallo zusammen,

ich habe ein Problem und hoffe, ihr könnt mir weiterhelfen ...

Ausgangslage:
ich muß via FTP Dateien von einem Linux-Server ins Internet schicken ...
Problem dabei: ich sitze hinter einem Proxy und das ganze soll automatisiert ablaufen; ANmeldung am Proxy wurde für meinen Server ausgeschaltet, für die Gegenseite habe ich Login und Paßwort.

Meine bisherigen Versuche:
ftp mit .netrc ... funktioniert nicht

hier mal meine .netrc; Berechtigungen passen, Leerzeile vorhanden:

user hiermeinftpuser@Gegenseite-IP Paßwort
macdef init
lcd /home/upload
passive off
put test.txt
close
quit



Ergebnis:

root@server:~ echo $init | ftp -n proxy-ip 2121
Connected to proxy-ip.
220 McAfee Web Gateway
221 Goodbye.

... und das wars ...
Ich hab es auch schon mit verschiedenen Varianten versucht, alles ohne Erfolg-


Was ich rausgefunden habe,
wenn ich die einzelnen Schritte auf der Konsole eingebe, dann klappt es:

1. Verbindungsaufbau zum Proxy:

ftp -n <Proxy-IP> 2121

... dann hab ich nen ftp-Prompt

ftp>

2. Verbindungsaufbau zur Gegenseite:

user hiermeinftpuser@Gegenseite-IP Paßwort
... Ergebnis:

331 User name okay, need password.
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.

3. Change Local-Dir

lcd /home/uload

Ergebnis:

ftp> lcd /home
Local directory now /home

4. Passiv-Modus abschalten

ftp> passive off
Passive mode: off; fallback to active mode: off.

5. Datei uploaden:

ftp> put test.txt
Ergebnis:

local: test.txt remote: test.txt
501 Bad IP.
200 Command okay.
150 File status okay; about to open data connection.
100% |************************************************* *********************************| 28 119.92 KB/s 00:00 ETA
226 File receive OK.
28 bytes sent in 00:00 (1.06 KB/s)

... was hier "Bad IP" heißt, weiß ich nicht, Transfer klappt aber, die Datei ist vorhanden

6. Verbindung trennen:

ftp> close
Ergebnis:

ftp> close
221 Goodbye.

... wie bekomme ich das jetzt automatisiert hin :confused:
Ich bin schon am verzweifeln, und hoffe, der ein oder andere hier kann mir helfen ...
Vielen Dank schonmal im voraus ...


Solved ...
ich habs gelöst, indem ich die entsprechenden Befehle aus einer Datei übergeben hab, das hat er geschluckt ...

Kernel-Error
18.12.12, 16:36
Schnell aus der Hüfte und ganz ganz böse:


#!/bin/bash
{
sleep 1
echo ftp -n <Proxy-IP> 2121
sleep 2
echo user hiermeinftpuser@Gegenseite-IP Paßwort
sleep 3
echo lcd /home/uload
sleep 2
echo passive off
sleep 2
echo put test.txt
sleep 3
echo close
sleep 3
echo debug -q all
} | ftp $1