All Projects → ggrandes → sftpserver

ggrandes / sftpserver

Licence: Apache-2.0 license
SFTP Server (SSH File Transfer Protocol) in Java, based on Apache MINA SSHD

Programming Languages

java
68154 projects - #9 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to sftpserver

Drone Cache
A Drone plugin for caching current workspace files between builds to reduce your build times
Stars: ✭ 194 (+212.9%)
Mutual labels:  sftp
Ssh-Pascal
Delphi ssh library wrapping libssh2
Stars: ✭ 42 (-32.26%)
Mutual labels:  sftp
core-nodejs
⚡ An FTP/FTPS/SFTP client with modern API.
Stars: ✭ 37 (-40.32%)
Mutual labels:  sftp
Sftpgo
Fully featured and highly configurable SFTP server with optional HTTP, FTP/S and WebDAV support - S3, Google Cloud Storage, Azure Blob
Stars: ✭ 3,534 (+5600%)
Mutual labels:  sftp
RB-libcURL
A Realbasic and Xojo binding to libcurl
Stars: ✭ 19 (-69.35%)
Mutual labels:  sftp
flutter ssh
SSH and SFTP client for Flutter
Stars: ✭ 105 (+69.35%)
Mutual labels:  sftp
Grunt Sftp Deploy
Grunt task for code deployment over sftp
Stars: ✭ 158 (+154.84%)
Mutual labels:  sftp
evm-mina-verification
In-EVM Mina State Verification
Stars: ✭ 58 (-6.45%)
Mutual labels:  mina
mina-touch
mina-touch,一个方便、轻量的小程序手势事件监听库
Stars: ✭ 112 (+80.65%)
Mutual labels:  mina
publish-sftp
One-line command to quickly publish resources to a specified server
Stars: ✭ 41 (-33.87%)
Mutual labels:  sftp
Example Airflow Dags
Example DAGs using hooks and operators from Airflow Plugins
Stars: ✭ 243 (+291.94%)
Mutual labels:  sftp
termscp
🖥 A feature rich terminal UI file transfer and explorer with support for SCP/SFTP/FTP/S3
Stars: ✭ 707 (+1040.32%)
Mutual labels:  sftp
sftp client
An Elixir SFTP Client that wraps Erlang's ssh and ssh_sftp.
Stars: ✭ 29 (-53.23%)
Mutual labels:  sftp
Vscode Remote Workspace
Multi protocol support for handling remote files like local ones in Visual Studio Code.
Stars: ✭ 197 (+217.74%)
Mutual labels:  sftp
seedboxsync
Script for sync operations between your NAS and your seedbox.
Stars: ✭ 17 (-72.58%)
Mutual labels:  sftp
Premotem
Personal Remote Manager
Stars: ✭ 161 (+159.68%)
Mutual labels:  sftp
MyMina
小程序工程化实践
Stars: ✭ 73 (+17.74%)
Mutual labels:  mina
docker-sftp
SFTP Server for Docker
Stars: ✭ 118 (+90.32%)
Mutual labels:  sftp
SSHapendoes
Capture passwords of login attempts on non-existent and disabled accounts.
Stars: ✭ 31 (-50%)
Mutual labels:  sshd
fireftp
free, secure, cross-platform FTP/SFTP client for Firefox
Stars: ✭ 137 (+120.97%)
Mutual labels:  sftp

sftpserver

SFTP Server (SSH File Transfer Protocol) based on Apache MINA SSHD. Open Source Java project under Apache License v2.0

Current Stable Version is 1.4.0


Versions

sftpserver Java
1.0.x 1.6+
1.1.x 1.6+
1.2.x 1.7+
1.3.x 1.8+
1.4.x 1.8+

Config:

${sftp.home}/conf/[id]/sftpd.properties (all in one file)
#
## Global Options
#
# Listen on localhost and localnet
#sftpserver.global.host=127.0.0.1,192.168.1.1
# Listen on TCP port 22222
sftpserver.global.port=22222
# Enable compression (requires jzlib) (default: false)
sftpserver.global.compress=true
# Enable dummy shell (default: false)
sftpserver.global.dummyshell=true
# Enable log request (default: false)
sftpserver.global.logrequest=true
#
## Configure user "test"
#
# Password for user (unencrypted-plain-text)
#sftpserver.user.test.userpassword=changeit
# Password for user (encrypted)
sftpserver.user.test.userpassword=$1$156RlTZJ$76bzjtXvDfgvouurtgEI10
# PublicKeys for user (OpenSSH format)
sftpserver.user.test.userkey.1=ssh-rsa AAAAB3NzaC1yc2EAAAADA...E7uQ==
sftpserver.user.test.userkey.2=ssh-ed25519 AAAAC3NzaC1...QfX
sftpserver.user.test.userkey.3=ecdsa-sha2-nistp256 AAAAE2VjZ...Z99xM=
# Set user home directory (chrooted)
sftpserver.user.test.homedirectory=./home/test/
# Enable user (default: false)
sftpserver.user.test.enableflag=true
# Enable write (default: false)
sftpserver.user.test.writepermission=true
#
${sftp.home}/conf/[id]/sftpd.properties + ${sftp.home}/conf/[id]/htpasswd
#
## Global Options
#
# Listen on TCP port 22222
sftpserver.global.port=22222
# Enable compression (requires jzlib) (default: false)
sftpserver.global.compress=true
# Enable dummy shell (default: false)
sftpserver.global.dummyshell=true
#
## Configure htpasswd
#
# Enable htpasswd (default: false)
sftpserver.htpasswd.enableflag=true
# Set home directory for all users (chrooted)
sftpserver.htpasswd.homedirectory=./home/test/
# Enable write (default: false)
sftpserver.htpasswd.writepermission=true
#

Running (Linux)

./bin/sftpd.sh <run|start|stop|restart|status> [id]

Upstart Script (Linux)

./bin/sftpd.conf (you can copy to /etc/init/)

Systemd Service (Linux)

./bin/sftpd.service (you can copy to /etc/systemd/system/)

Generate Encrypted Password (Linux)

./bin/sftpd.sh <pwd>

DONEs

  • Use Java SecurityManager/Policy File
  • Non operating system accounts
  • Homes are chrooted
  • ReadOnly accounts
  • Encrypted Passwords (SHA2/MD5/APR1)
  • PublicKey Authenticator (OpenSSH keys RSA/EcDSA/Ed25519)
  • Support htpasswd file (APR1)

MISC

Current hardcoded values:

  • Hostkeys are writed to: hostkey.pem or hostkey.ser in ${sftp.home}/keys/ directory
  • SecurityManager/Policy File is in conf/${ID}/sftpd.policy (custom) or lib/sftpd.policy (generic)
  • Htpasswd File is in conf/${ID}/htpasswd (custom) or conf/htpasswd (generic)
  • Default KexAlgorithms: diffie-hellman-group14-sha256, diffie-hellman-group16-sha512, diffie-hellman-group-exchange-sha256, ecdh-sha2-nistp256, ecdh-sha2-nistp384, ecdh-sha2-nistp521, diffie-hellman-group14-sha1
  • Default Ciphers: aes128-ctr, aes192-ctr, aes256-ctr
  • Default MACs: [email protected], [email protected], [email protected], hmac-sha2-256, hmac-sha2-512, hmac-sha1

Maven Dependencies:

Apache MINA SSHD CHANGELOG

  • mina-core-XXX.jar
  • sshd-core-XXX.jar
  • sshd-sftp-XXX.jar
  • sshd-scp-XXX.jar

Apache Commons Codec (password encryption)

  • commons-codec-XXX.jar

Log4J/Reload4J (logging)

  • reload4j-XXX.jar

SLF4J (logging)

  • slf4j-api-XXX.jar
  • slf4j-reload4j-XXX.jar

Bouncy Castle (encryption)

  • bcprov-jdk15on-XXX.jar
  • bcpkix-jdk15on-XXX.jar

JZlib (for compression)

  • jzlib-XXX.jar

Inspired in mina-sshd and openssh.

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].