I made an sftp.

For those interested in retrieving files from VMs once deployed, there’s now a branch of flyctl that speaks SFTP to our VMs:

There’s no official build of this (it’s a work in progress), so you’ll have to make it yourself to play with it. Once you’ve got it, it’s flyctl ssh sftp shell (the command names are one of the things we’ll need to do better with).

Right now the shell just does cd, ls, and get; get of a directory will retrieve a ZIP file of the whole directory tree. Don’t try to get /dev/zero (or at least don’t hold me responsible if it fills your disk).

This will only work on VMs started after this community post — I had to deploy a fix to hallpass, our tiny SSH server, to get this to work. Your current running VMs are still running old hallpass.

All the normal rules about connecting to SSH apply.

Most of the reason I’m posting this is: what else do you want this SFTP thingy to do? And for each of those things, what problem does it solve for your app?


Very cool. I’ve wanted to do a “put” occasionally and worked around by putting a file somewhere and downloading it on the VM instead.

Ok, the PR now includes “put” and “chmod” (also, I made “ls -l” work).

1 Like

Would I be too greedy asking for a put with wildcard (glob) syntax?

1 Like

Not if you tell me how it should work!


How about I back up. I have 10 files I want to replace on my VM, all in the same directory. What is the best way to do this?

I’m just a simple unfrozen caveman SFTP implementor. You all should have a conversation about what you need and then tell me what to do. :slight_smile: