All Projects → Memset → sftpcloudfs

Memset / sftpcloudfs

Licence: MIT License
SFTP interface to OpenStack Object Storage (Swift)

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to sftpcloudfs

iCtrl
UofT Engineering Lab Remote
Stars: ✭ 91 (+145.95%)
Mutual labels:  sftp, paramiko
dakait
A tool to download files from your FTP/SFTP servers in an organized way.
Stars: ✭ 35 (-5.41%)
Mutual labels:  sftp
monasca-docker
Docker files and setup for Monasca
Stars: ✭ 24 (-35.14%)
Mutual labels:  openstack
fs2-ftp
Simple client for Ftp/Ftps/Sftp
Stars: ✭ 24 (-35.14%)
Mutual labels:  sftp
curso-ual17
Curso de infraestructura cloud con Openstack. Universidad de Almeria. Mayo 2017
Stars: ✭ 16 (-56.76%)
Mutual labels:  openstack
sshtools
Java SSH tools - easier SSH & SFTP in Java
Stars: ✭ 15 (-59.46%)
Mutual labels:  sftp
nxshell
An easy to use new terminal.
Stars: ✭ 440 (+1089.19%)
Mutual labels:  sftp
rust-openstack
OpenStack SDK for Rust
Stars: ✭ 44 (+18.92%)
Mutual labels:  openstack
summit-app-ios
The official app for the OpenStack Summit
Stars: ✭ 35 (-5.41%)
Mutual labels:  openstack
openstack-study
The repository for study activities in OpenStack Korea User Group (오픈스택 한국 커뮤니티 스터디를 위한 저장소입니다)
Stars: ✭ 32 (-13.51%)
Mutual labels:  openstack
Python-notes
Python related technologies used in work: crawler, data analysis, timing tasks, RPC, page parsing, decorator, built-in functions, Python objects, multi-threading, multi-process, asynchronous, redis, mongodb, mysql, openstack, etc.
Stars: ✭ 104 (+181.08%)
Mutual labels:  openstack
limes
OpenStack-compatible quota/usage tracking service
Stars: ✭ 18 (-51.35%)
Mutual labels:  openstack
SelfPortal
One for all virtualization abstraction layer.
Stars: ✭ 22 (-40.54%)
Mutual labels:  openstack
ssh2.nim
Async SSH, SCP and SFTP client for Nim, using libssh2 wrapper [WIP]
Stars: ✭ 17 (-54.05%)
Mutual labels:  sftp
taco-scripts
Step-by-step scripts to deploy TACO AIO
Stars: ✭ 24 (-35.14%)
Mutual labels:  openstack
terraform-ovh-commons
This repo contains commons resources to interact with OVH Public Cloud using Terraform.
Stars: ✭ 47 (+27.03%)
Mutual labels:  openstack
tripleo-lab
Custom lab for tripleo - deployed on a physical node with libvirt
Stars: ✭ 20 (-45.95%)
Mutual labels:  openstack
benji
📁 This library is a Scala reactive DSL for object storage (e.g. S3/Amazon, S3/CEPH, Google Cloud Storage).
Stars: ✭ 18 (-51.35%)
Mutual labels:  objectstorage
f5-openstack-lbaasv2-driver
F5 LBaaSv2 service provider driver for OpenStack Liberty and beyond
Stars: ✭ 20 (-45.95%)
Mutual labels:  openstack
aurora
A modern customizable dashboard for OpenStack
Stars: ✭ 21 (-43.24%)
Mutual labels:  openstack

sftp cloudfs

This is a SFTP (Secure File Transfer Protocol) interface to OpenStack Object Storage, providing a service that acts as a proxy between a SFTP client and a storage service.

The username/password pair used to open the SFTP session is validated using the authentication service of the files/storage service to get an authentication token.

The communication between the client and the SFTP daemon is encrypted all the time, and the SFTP service supports HTTPS communication with the remote files/storage service.

There's limited SCP support since 0.10.

Install

Requirements:

  • python (2.6)
  • paramiko (1.7.6+; 1.17.0+ recommended)
  • python-swiftclient (2.0+)
  • python-daemon (1.5.5)
  • ftp-cloudfs (0.35+)
  • python-memcached (1.45)

These are the minimum recommended versions based in our testing environment.

You may need to create a host key with ssh-keygen.

To install the software, run following command:

python setup.py install

Or using pip:

pip install sftp-cloudfs

Please use the latest pip version, old versions may have bugs. You can upgrade pip using pip: pip install --upgrade pip.

Usage

Once installed you can run the service with sftpcloudfs executable, that supports following options:

--version             show program's version number and exit
-h, --help            show this help message and exit
-a AUTHURL, --auth-url=AUTHURL
                      Authentication URL
--insecure            Allow to access servers without checking SSL certs
-k HOST_KEY, --host-key-file=HOST_KEY
                      Host RSA key used by the server
-b BIND_ADDRESS, --bind-address=BIND_ADDRESS
                      Address to bind (default: 127.0.0.1)
-p PORT, --port=PORT  Port to bind (default: 8022)
--server-ident=SERVER_IDENT
                      Server ident to use when sending the SSH banner to the
                      client (default: sftpcloudfs_VER)
--memcache=MEMCACHE   Memcache server(s) to be used for cache (ip:port)
-l LOG_FILE, --log-file=LOG_FILE
                      Log into provided file
-f, --foreground      Run in the foreground (don't detach from terminal)
--disable-scp         Disable SCP support (default: enabled)
--syslog              Enable logging to system logger (daemon facility)
-v, --verbose         Show detailed information on logging
--pid-file=PID_FILE   Full path to the pid file location
--uid=UID/USER        UID or USER to drop the privileges to when in daemon mode
--gid=GID/GROUP       GID or GROUP to drop the privileges to when in daemon mode
--keystone-auth       Use OpenStack Identity Service (Keystone, requires keystoneclient)
--keystone-auth-version=VERSION
                      Identity API version to be used, default: 2.0
--keystone-region-name=REGION_NAME
                      Region name to be used in Keystone auth
--keystone-tenant-separator=TENANT_SEPARATOR
                      Character used to separate tenant_name/username in
                      Keystone auth, default: TENANT.USERNAME
--keystone-domain-separator=DOMAIN_SEPARATOR
                      Character used to separate project_name/project_domain_name
                      and username/user_domain_name in Keystone auth v3, default: @
--keystone-service-type=SERVICE_TYPE
                      Service type to be used in Keystone auth,
                      default: object-store
--keystone-endpoint-type=ENDPOINT_TYPE
                      Endpoint type to be used in Keystone auth,
                      default: publicURL
--storage-policy=STORAGE_POLICY
                      Swift storage policy to be used (optional)
                      Access to other containers will be denied
--config=CONFIG       Use an alternative configuration file

The default location for the configuration file is /etc/sftpcloudfs.conf.

Memcache is optional but highly recommended for better performance. Any Memcache server must be secured to prevent unauthorized access to the cached data.

By default Swift auth 1.0 will be used, and is compatible with OpenStack Object Storage (Swift) using swauth authentication middleware.

Optionally OpenStack Identity Service (aka keystone) v2.0 or v3 can be used. Currently python-keystoneclient (0.3.2+ recommended) is required to use Keystone auth and it can be enabled with keystone-auth option.

The server supports large files (over the 5GB default) by splitting the files in parts into a .part subdirectory and using a manifest file to access them as a single file.

With storage-policy parameter, you can restrict user access to a single policy. If no name is specified, the default policy is used (and if no other policies, defined Policy-0 is considered the default).

Please check the example configuration file for further details.

License

This is free software under the terms of MIT license (check COPYING file included in this package).

The server is loosely based on the BSD licensed sftpd server code from:

http://code.google.com/p/pyfilesystem/

Contact and support

The project website is at:

https://github.com/memset/sftpcloudfs

There you can file bug reports, ask for help or contribute patches.

Authors

Contributors

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].