[scponly] first (recent) post

Christopher Barry christopher.r.barry at gmail.com
Thu Nov 18 15:50:11 EST 2010


Greetings,

Not sure of the status of this project now, but I used scponly with
great success a few years ago. Getting ready to get back into it.

I wrote a wrapper script around it in fact, called sftp-manager, which
is (err, aims to be) a fairly full featured administrative program to
manage secure corporate 'partner' file sharing.

The whole reason I wrote it was because ftp sucks so hard. To be even
remotely secure, it's gotta be blind download, which means it's one-off
files, and you can't browse. Uploads are even worse. The ftp site gets
full of weird cruft and no one knows what it is, and everyone is afraid
to delete anything. If you had a special ftp site for a partner, and it
had a password, you could never change the password or you'd piss
everyone off. In fact, you really had no clue who even had the password.
Users would leave company X for Company Y and they'd still have access
to company X's ftp site. Very cheesy. The MS alternative, SharePoint is
a bloated POS. It, frankly, sucks as much as ftp, only differently.

Hence sftp-manager. It's workable now, but it needs more work. I've
dusted it off, and have begun hacking on it again. Wondering if there is
any interest in anyone hacking on it with me.

some sftp-manager nomenclature:

A 'Partner' is the Linux user on the scponly box. This user has no shell
or password, and cannot login. A Partner represents some external
customer or company. It has a chrooted directory named for it.

A 'User' in sftp-manager context is an email_address:ssh_keypair
combination. The only access to a Partner site is by authorized Users
with a valid email address and ssh key. No passwords are accepted. It
sounds onerous to force keys on people, but I've found a reasonable way
to automate all that, and make it painless for end users.

some current features:

It highly customizable and 'brandable' for any company with the config
file. This was a design decision from the beginning.

The app creates partners and users, emails auto-generated blind ftp url
locations to new users to download their ssh keys (auto-generates putty
and ssh2 keys), sends account information, auto-expires the blind ftp
locations, will auto-send account 'keep-alives' on a cron (emails to
users that require a simple mailing-list style reply to keep their
account active) so old user accounts auto-expire when users leave
partner companies.

It makes extensive use of bind mounts (and manages them) for the chroot
common stuff, and has the notion of an 'se' or Support Engineer Partner
whose Users are typically internal people who manage a common file/doc
filespace bind mounted into every Partners chroot. se users can access
multiple partner areas. This lets people in-house deal will putting and
getting stuff to and from the various partners.

It auto-generates both both bash and windows batch scripts to automate
(scriptable) access for Users on the commandline, and auto-generates
FireFTP and FileZilla configurations that the User can simply import to
be fully setup with a cross-platform GUI. It bundles these in a
configurable auto-generated Welcome email when a user is added.
It's kinda cool, but it needs some more love.

I've just pulled it out of my archives, and am going through the code
again. I'll need to figure out how I had it all setup again :)

Anyway, If anyone is interested, give me a shout. I've got it in a local
git, and can probably make that available to interested people.


Regards,
-C






More information about the scponly mailing list