Slashdot Mirror


Implicit SSL FTP Clients with Scripting?

malcomvetter asks: "I need a command line FTP client that supports 'Implicit SSL', sports some kind of scripting interface, and runs on Win32. Any suggestions? So far, I have only found GUI versions such as FileZilla." I remember once needing a scripting FTP client long ago. It took me a long time, but I finally found one that had a workable but unintuitive interface. Have scripting FTP clients become more prevalent or is your best bet using something flexible with network bindings (like Python or Perl) to get the job done?

43 comments

  1. SCP? by Tim+Locke · · Score: 1

    scp or pscp?

    --
    *** On the Internet, no one knows you're using a VIC-20
    1. Re:SCP? by brianjcain · · Score: 1

      The OP probably wants to avoid scp and sftp because they will usually require authentication, whereas with FTP over SSL can still be done anonymously (and then you don't have to leave passwords in your script).

    2. Re:SCP? by Masa · · Score: 1

      "The OP probably wants to avoid scp and sftp because they will usually require authentication, whereas with FTP over SSL can still be done anonymously (and then you don't have to leave passwords in your script)."

      By using key files, it's possible to create SCP sessions, which don't require passwords at all.

    3. Re:SCP? by hey! · · Score: 2, Informative

      We do that all the time for our CVS access. It also makes scp a snap.

      But privacy without entering a password is only one possible requirement. Another possible requirement is anonymity.

      I assume that scp doesn't transmit the user's identity in cleartext (it shouldn't be necessary since the server has a public key), so anonymity over the wire presumably isn't an issue. But suppose I wanted to make sure that when the subpeona is issued, it would be trickier to associate a file transfer to a user. Then ftp over ssl, running scripted from a zombie client would be the way to go.

      But I agree, scp with key files would fit the bill for convenient privacy and on-wire anonymity for most applications.

      --
      Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
  2. scp by Masa · · Score: 1

    Well, some time ago I needed a reliable ftp-like client for my scripting needs, but security was also a requirement. I decided to use pscp through command line interface. Pscp is a PuTTY SCP client for Windows platform. Works well for me.

    1. Re:scp by j-turkey · · Score: 2, Informative
      Well, some time ago I needed a reliable ftp-like client for my scripting needs, but security was also a requirement. I decided to use pscp through command line interface. Pscp is a PuTTY SCP client for Windows platform. Works well for me.

      Problem is, pscp lacks large file support.

      --

      -Turkey

    2. Re:scp by divbyzero · · Score: 2, Interesting

      Not relevant to the original poster's question, but if you need to download larger files than pscp supports, why not try the following:

      plink username@hostname cat remote-filename > local-filename

      For upload, use this instead:

      plink username@hostname "cat > remote-filename" local-filename

      Who needs a dedicated file transfer protocol? :-)

      (plink is the PuTTY package's equivalent of the standard command line SSH client, with no GUI nor terminal emulation)

      --
      But my grandest creation, as history will tell,
      Was Firefrorefiddle, the Fiend of the Fell.
    3. Re:scp by divbyzero · · Score: 1

      Blech, Slashdot ate my less-than sign, even though I told it to use "Plain Old Text" posting mode. The upload example should read:

      plink username@hostname "cat > remote-filename" < local-filename

      --
      But my grandest creation, as history will tell,
      Was Firefrorefiddle, the Fiend of the Fell.
    4. Re:scp by j-turkey · · Score: 1
      plink username@hostname "cat > remote-filename" local-filename

      Oh man, that rocks. I didn't realize that existed (or maybe I never paid attention). I've been using WinSCP's slow-ass file transfer (and it is sloooooooow). Thanks!

      --

      -Turkey

    5. Re:scp by bahamat · · Score: 1

      It wasn't slashdot. It shows up just fine in both Firefox and Safari on OS X.

  3. try CoreFTP by kayen_telva · · Score: 1

    Im not 100% but I think it supports what you need

  4. cURL? by forsetti · · Score: 4, Interesting

    Try cURL. Available for every platform under the sun, and does almost everything.

    --
    10b||~10b -- aah, what a question!
  5. If Cygwin is an option then lftp is perfect. by mohaine · · Score: 2, Informative
    --
    (appended to the end of comments you post, 120 chars)
    1. Re:If Cygwin is an option then lftp is perfect. by rimu+guy · · Score: 1

      +1 to parent. We recommend lftp for use with our backup service (link includes commands for enabling/disabling tls support) since it supports all the goodies like tls, scripting, and mirroring in both directions.

      --
      Linux VPS Hosting

  6. WinSCP by Anonymous Coward · · Score: 0

    use WinSCP... here's a link.. http://winscp.sourceforge.net/eng/index.php

    1. Re:WinSCP by Tim+Locke · · Score: 1

      > use WinSCP Scriptable?

      --
      *** On the Internet, no one knows you're using a VIC-20
  7. Personally by DJStarquake · · Score: 3, Interesting

    I needed the same, and used CuteFTP. (Commercial). It has an SDK so you can use its methods from within services etc. Does what it says on the tin - I scripted using WSH, others may vary. In fact I noted the fact that scripting would rarely be needed as it has a great scheduler that met most of our requirments (we only needed scripting for triggers).

  8. Cygwin by aventius · · Score: 2, Interesting

    Install Cygwin (basically its a Unix command line & environment for Windows) and then install sftp, scp, or ssh. All three will get the job done. I have never found a Windows FTP GUI that I liked... hell I haven't found an SFTP GUI on any platform that I liked. Fetch on OSX is very nice but doesn't support SFTP (unless I'm an idiot and missed something).

    --
    [insert lame joke here]
    1. Re:Cygwin by conteXXt · · Score: 1

      Have you tried the one from ssh.com?

      I have used it (and the command line versions of scp and ssh) for years.

      --
      The truth about Led Zep should never be told on /. (Karma suicide ensues)
    2. Re:Cygwin by justanyone · · Score: 1

      Note if you want to be doing something in a windows script and initiate this process in cygwin, your options could include having cygwin always running, starting an 'at' or cron job there that looks for the presence of a trigger file and kicks off your process when started, then deletes the trigger file when done.

      Note this is cumbersome and suckky but I've been forced through similar hoops before and it's just one ugly hack in the bag of tricks.

    3. Re:Cygwin by aventius · · Score: 1

      love the CLI ones... i typically use openssh on all my platforms.

      --
      [insert lame joke here]
    4. Re:Cygwin by Anonymous Coward · · Score: 0

      sftp is not the same as ftp over ssl.
      tard.

  9. sftp (part of cygwin) by tedgyz · · Score: 1

    sftp is an extension to the SSH protocol. AFAIK, any ssh server should support sftp.

    --
    "No matter where you go, there you are." -- Buckaroo Banzai
    1. Re:sftp (part of cygwin) by darthgnu · · Score: 2, Informative

      The admin can disable sftp because it uses a protocol extension. Scp OTOH uses no protocol extension and can be used with any ssh server.

      --
      Freedom is strength, Ignorance is peace, War is slavery.
    2. Re:sftp (part of cygwin) by David_W · · Score: 1
      The admin can disable sftp because it uses a protocol extension. Scp OTOH uses no protocol extension and can be used with any ssh server.

      Actually that isn't 100% correct either IIRC. You must be able to run the scp binary on the server in addition to your client, so an admin could disable it by taking away execute permission on the server.

  10. scp by Kiaser+Zohsay · · Score: 3, Interesting

    PuTTY has pscp and Cygwin has scp from the openssh package. SSL encryption and files get from point A to point B. I use perl to move files to a web server and simultaneously update a MySQL table of file info (filename, description, size, modifed date), so its scriptable as all hell.

    --
    I am not your blowing wind, I am the lightning.
  11. Expect by chriseyre2000 · · Score: 2, Informative

    expect is atcl extension thast was written for just this purpose.

  12. Pretty obvious by Anonymous Coward · · Score: 0

    On unix systems, ftp itself is scriptable. Other ideaswoul be to: http://curl.haxx.se/, http://lftp.yar.ru/ or using an expect script as an interface between your script and an ftp client. If you use python, use: http://docs.python.org/lib/module-urllib.html, or ftplib. For Perl, use LWP, Net::FTP.

  13. A different approach by data64 · · Score: 1

    would be to use Net::SFTP. At this point you are scripting in Perl, which might be a good thing ;)

  14. Why SSL instead of something related to SSH? by Halvard · · Score: 1

    You just encrypt the passwords but not the data, if IIRC. Maybe think about something using the SSH protocol.

    On Windows, the easiest solution/least expensive solution is probaby via Cygwin as another poster stated using SFTP from OpenSSH. If you need commercial software, I'd strongly recommed SecureFX from Van Dyke Software. Scriptable interface, supports FTP, SFTP and FTP over SSL. From the command line, I believe it doesn't support FTP over SSL but I could be wrong.

    1. Re:Why SSL instead of something related to SSH? by Anonymous Coward · · Score: 0

      SSH encrypts the authentication as well as the data.

      Besides allowing for more privacy encrypting only the authentication wouldn't do any good if say you were to change your password when logged in transmitting it in clear text or ssh to another machine and transmit that password in clear text to the first machine.

      It may be possible to use an option maybe -c none to disable encryption. I believe this only disables encryption post authentication but I may be wrong. Also I recall that you may have to configure openssh to build with this option turned on at compile time.

    2. Re:Why SSL instead of something related to SSH? by irc.goatse.cx+troll · · Score: 1

      Because SSH is not good for virtual users. AUTH TLS + SSL file listings are used for situations where you want a lot of people to access files without anyone even knowing where the box is (*cough* warez)

      FTP is also good for its various features you just cant do with SFTP/SCP, like site to site transfers, and scripting. For example, uploading a .sfv causes symlinks to be created for (filename in sfv thats not uploaded-missing so anyone connecting knows what needs to be uploaded, and then show a status dir showing percentage uploaded, and automaticly create a .info showing who uploaded how much.

      So really, right tool for the right job.

      Disclaimer: I uh, just read a lot, I would never break copyright law or condone its breaking.

      --
      Pain lasts, kid. Its how you know you're alive. Sometimes I think this growing up thing is just pain management-TheMaxx
  15. expect is great for this by monkeyserver.com · · Score: 4, Informative
    expect is awesome for scripting, especially where the interface isn't completely predictable. It basically sends out commands, waits for certain replies back, then responds them, all according to script your right.

    Some cool things, autoexpect, this will basically record a session you do (like the script command), and right an expect script for it. Also if you use the -p (I think, check the man) option, it won't make the prompts strict, just in case there is a datestamp in there.

    --
    http://monkeyserver.com --- weeeeee
  16. 4NT by Anonymous Coward · · Score: 1, Interesting

    It's not just a command shell with great scripting. It also does FTP.

  17. SecureFX by eric2hill · · Score: 2, Informative

    Try SecureFX from VanDyke Software. I've been using their SecureCRT/SecureFX combo for a year or so now and it works great. Both are command-line scriptable as needed.

    --
    LOAD "SIG",8,1
    LOADING...
    READY.
    RUN
  18. What about SSH certs and Rsync? by madstork2000 · · Score: 4, Interesting

    I have to transfer files and directories across several locations, and I do it automatically using rsync and SSH certificates.

    SSH is configured to only allow transfers with a valid certificate from a valid IP address. There is no pass-phrase on the certs.

    Copying / syncing directories is a breeze:

    rsync -ae ssh server1:/copy/this/directory/ /to/this/directory

    No fuss. I have not tried rsync on win32, but I am sure it exists. I do a lot of web development, but have not used a ftp client on a regular basis in years. My sites are backed up to remote servers using this method, and new sites are uploaded using rsync as well.

    Its fast, easy to use and saves on bandwidth, as only changes are transfered. With FTP the whole file is always moved. SO bandwidth savings alone may be worth looking into this solution.

    -MS2k

  19. Try Fugu for OSX by teridon · · Score: 2, Informative

    Fugu is a decent BSD-style licensed GUI for SFTP, SCP and SSH tunnels

    --
    I hold it, that a little rebellion, now and then, is a good thing. -- Thomas Jefferson
  20. FTPRush by irc.goatse.cx+troll · · Score: 1

    FTPRush is good, especially for scene stuff (It does auto sfv creation, makes status dirs, etc)
    It has a full scriptable interface including some example mirc script to control it.

    Just don't be lame and autotrade.

    Google will find it, its too late to dig out links.

    --
    Pain lasts, kid. Its how you know you're alive. Sometimes I think this growing up thing is just pain management-TheMaxx
  21. PSFTP by sbszine · · Score: 1

    There's an excellent FTP client that does everythign you need: psftp. It's highly scriptable, and scripting info is available here.

    --

    Vino, gyno, and techno -Bruce Sterling

    1. Re:PSFTP by slim · · Score: 1

      According to the documentation: "PSFTP, the PuTTY SFTP client, is a tool for transferring files securely between computers using an SSH connection."

      Whereas the OP said: "I need a command line FTP client that supports 'Implicit SSL'"

      SSH is not SSL.

    2. Re:PSFTP by sbszine · · Score: 1

      Ah well. Maybe next time I will RTFA.

      And maybe I'm a Chinese jet pilot.

      --

      Vino, gyno, and techno -Bruce Sterling

  22. FTP/TLS: All the goodies by slim · · Score: 1

    FTP/TLS is a big part of my job. It's an exciting time for the protocol because after years sitting around as a commonly used draft standard, it's just been promoted to a standards track RFC.

    Pretty much all you could need to know about FTP/TLS (TLS being the current Right Way to refer to SSL) is at the RFC author's "FTP/TLS State of Play" page.

    It covers things like the difference between SFTP (SSH) and FTPS (SSL) (although instead of discussing the merits of either, it links to another page) ... and has a long (but not comprehensive) list of clients.

    However, the OP asks about implicit SSL. The IETF frowns on implicit SSL, and the FTP/TLS standard negotiates TLS implicitly (with "AUTH TLS").

    Some of the listed clients may support implicit SSL however. I suspect WS-FTP does, for example.