Joe Goldthwaite's picture

This is a newbie question but I'm been unable to figure it out.  I've got an instance of the Django appliance running on Amazon's EC2 service and I need to move a bunch of swf files over to it.  I found a file upload in the webmin file manager but it only seems to upload a single file at a time.

I thought that FTP would be the thing I need.  I found the instructions and installed several different ftp servers but I was unable to connect to either of them.  I don't even know what host name I need to be using to connect.  If my webmin address was https://ec2-xxx.amazonaws.com:12321/, I tried to connect to ftp://ec2-xxx.amazonaws.com.  I also tried connecting the IP address like ftp://xxx.xxx.xxx.xxx. but was unable to do that either.

I checked and there doesn't seem to be any firewall running and as far as I can tell, my FTP settings are correct but I keep getting an "unable to connect" error message.

In doing some additional searching on the forum, I found a mention that FTP isn't supported and that you should use SFTP instead.  How does that work?  Do I need to set something up on the server side?  What Windows SFTP client works best?  What do you use to specify the host name in the client?

Sorry to be asking so many questions that are probably painfully basic.  I think I've spent too many years in the Windows world.

Forum: 
Alon Swartz's picture

Amazon EC2 use security groups, which are basically firewall configurations. So, to allow FTP to your instance, you would need to update the security group. That said, I wouldn't use FTP.

SFTP (secure FTP) is already supported by all appliances and most modern FTP clients. It's encrypted so your password won't be transmited over the Internet in the clear and the implementation is also much more secure and robust. I've heard some good things about filezilla on windows, which might be what your looking for.
Joe Goldthwaite's picture

Thanks for the reply Alon,

I checked into the security groups settings on EC2.  It looks like my instance is in the default security group. It also looks like the default security group already has access set up for SSH on Port 22.

So it sounds like sftp is running and configured and I don't have to do anything to enable it in my Turnkey Django instance. Are there other settings you need to make on the Linux side to allow the sftp connections?  Do I have the correct address when I try to connet to ftp://ec2-xxx.amazonaws.com.?

Jeremy Davis's picture

There are probably plenty of different Win FTP apps, but I personally try to use open source whenever possible. Filezilla is a free (in both senses of the word) FTP client that supports SFTP. Not that it matters to you but it works pretty nice on Linux too. It's what I use in both my Windows and Ubuntu desktops.

Joe Goldthwaite's picture

Thanks JedMeister.  I downloaded Filezilla.  I'll try it out as soon as I'm able to connect.

Joe Goldthwaite's picture

Before I waste any more of your time, I just got it to work.  I typed in sftp://myamazonaddress to Filezilla with my login and password on port 22 and it fired up.  I guess what I was missing was the "s" in the address.

Thanksa gain for your help.

Jeremy Davis's picture

The only username available for use should be 'root' and it should require your root password (if you set it in the Hub) or the security key (if you set that in the Hub) or the random password that you can get from the server logs (if you diidn't set a password in the Hub).

Jomy Muttathil's picture

port 21 which is typically used by FTP, is disabled by default in EC2 Security Groups.

port 22 which is used by SFTP and SSH is enabled and supported by both TL appliances and EC2.

In your file transfer client change the protocol to SFTP and the port to 22.

If you are a Mac user, I highly recommend Transit and CyberDuck.  Both support SFTP and S3.

Jeremy Davis's picture

If not I strongly suggest you sign up and use that (link top right of page) because it makes it seriously easy! All the security group stuff etc is taken care of for you and you can also apply a free tklapp.com dynamic domain name! As well as other cool features.

If you did launch via the Hub then there is a problem (it should just work OOTB). Did you set a root password? If not it sets one randomly and you'll need to set up keys so you can connect. If you set a root password and still no good, then I'd send 'feedback' (blue button on the left hand side when logged into the Hub) and the devs will help you work it out.

If you didn't use the Hub and wish to continue then you're on your own. My guess is that it's to do with the root password (as mentioned above). You should be able to manually preseed a root password but I have never used AWS without the Hub so wouldn't know where to start.

Liraz Siri's picture

When we first started making TurnKey available as Amazon Machine Images we ran into lots of these little annoying issues. I call them paper cuts. They don't kill you right away, but if you get enough of them you bleed to death (or call it quits).

It didn't make any sense that you would have to be an expert to get a TurnKey system up and running and running - as that goes against everything TurnKey is trying to accomplish!

The Hub makes things simple. I might even say deceptively simple because it actually makes rather complex use of Amazon's APIs behind the scenes to make everything work seamlessly.

Jeremy Davis's picture

If your appliance requires you to access a non-standard (ie non-pre-configured port) then you may need to open the relevant port with AWS (TKL appliances have their internal firewall disabled by default by AWS has a firewall type arrangement AFAIK).

I don't know anything about how that is done at all. Thanks to the magic of the Hub (and the fact I haven't needed to use a non standard port) I don't have to! :)

Add new comment