linux - How to upload files through VPS to Ubuntu server using PuTTY

07
2013-09
  • Anonymous12345

    I have my VPS pretty much set up now, and want to upload some basic files to the server, which is running Ubuntu 9.10. I am using my home laptop with Windows XP and connecting to the VPS with PuTTY. How can I upload the files? Is there any ftp program, like in regular managed hostings, to just upload files with? I was thinking about ProFTPd, but don't have a clue how to get it to work.

  • Answers
  • Bart Silverstrim

    I'd install sshd (openssh) on the Ubuntu system (secure shell server) and then use something like filezilla to transfer the files securely over scp, or anything that supports sftp or scp to transfer them up to the server. Plain FTP sends passwords in cleartext, a definitely bad thing to do.

    I'd also consider installing sshd and modifying it to listen to a custom port other than 22 to ward off automated attack scans, and make sure you have a good password as well as installing a package like denyhosts to block multiple incorrect passwords (be careful not to lock yourself out, go through the config file and whitelist your own ip if you need to).

  • Andomar

    Putty comes with a secure FTP client called psftp.exe. It allows file transfers using the SSH protocol. You won't need an FTP server, the SSH server will do all the work.

  • Jason

    Bart Silverstrim's answer is good, you really don't want to install a plain FTP server on your VPS.

    His recommendation of WinSCP is the same I'd recommended. It's is primarily a scp/sftp client that added regular FTP/FTPS capabilities. Or, FileZilla which started as a FTP client, and later added scp, sftp & ftps capabilities. (Note: sftp == an FTP-like protocol tunneled over ssh, FTPS == Regular port 21 FTP + SSL/TLS (on another port), both protect from password sniffing)

    Since you pointed out your already connecting with SSH, and by default, openssh installs with the sftp server enabled, you have everything you need on the server to transfer files to and from it with these 2 programs.

  • Marian

    You don't need any FTP. You have SSH access (I assume so, as you said you've configured it), that's enough. You can browse your server in e.g. nautilus, just type ssh://servername into the location bar. You can copy stuff with scp on the command line. You can even mount the filesystem on the server into your own using sshfs (there is a package on Debian/Ubuntu for it, named so). So why would you need an additional ftpd?

    A note about SSH security: Best way is not to use passwords at all and authenticate with Public Keys, you also don't need the denyhosts stuff then.


  • Related Question

    Map ftp servers as network drives in Ubuntu Linux
  • Questioner

    I'm a new Linux user, just switched over from Windows. I've got a couple FTP servers I connect to on a regular basis through sftp. I was wondering if there was a way to, as we say in windows, map them as network drives in Linux, so I can just copy stuff into a drive or folder and it will just map it to the server by ftp. That would be pretty cool. Anybody know how this would be possible, and how to do it? I Can't see to find anything in the literature.

    I'm running Ubuntu 9.04.

    Thanks!


  • Related Answers
  • Per Östlund

    Open Nautilus("File Browser"). File->Connect to server. Choose FTP (with login) and enter the right information and add something in the "bookmark name" field. Then you can access the FTP server, browse it and edit the files directly.

  • John T

    Take a look at CurlFtpFS. It allows you to mount remote FTP hosts as local directories.

  • quack quixote

    I believe Midnight Commander is pretty handy with FTP as well. The package is called "mc". It's a terminal-based (curses) GUI.

  • jfmessier

    If you are connecting to SFTP servers, then your connection should be an SSH one. Although this is rather a slower connection type, and I prefer NFS or even SMB, it works fine for transferring files, managing them, etc. In the "Connect to server, choose SSH.