gulp-sftp ![Build Status](https://camo.githubusercontent.com/a7401a7adbce17575ef90d671bf8278d2fb77354c2f99a3f7f2c76878eb3bca8/68747470733a2f2f7472617669732d63692e6f72672f677467303932782f67756c702d736674702e7376673f6272616e63683d6d6173746572)
Upload files via SSH
Useful for uploading and deploying things via sftp. Right now this plugin just uploads everything. Caching and hash comparison are two TODO items.
$ npm install --save-dev gulp-sftp
var gulp = require('gulp');
var sftp = require('gulp-sftp');
gulp.task('default', function () {
return gulp.src('src/*')
.pipe(sftp({
host: 'website.com',
user: 'johndoe',
pass: '1234'
}));
});
Required
Type: String
Type: Number
Default: 22
Type: String
Default: 'anonymous'
Type: String
Default: null
If this option is not set, gulp-sftp assumes the user is using private key authentication and will default to using keys at the following locations:
~/.ssh/id_dsa
and /.ssh/id_rsa
If you intend to use anonymous login, use the value '@anonymous'.
Type: String
Default: '/'
The remote path to upload too. This path should exist, though the child directories that house your files do not need to.
type String
or Object
Default: null
A key file location. If an object, please use the format {location:'/path/to/file',passphrase:'secretphrase'}
type String
Default: null
A passphrase for secret key authentication. Leave blank if your key does not need a passphrase.
type String
Default: null
If you wish to pass the key directly through gulp, you can do so by setting it to options.keyContents.
type String
Default: null
An identifier to access authentication information from .ftppass
see Authentication for more information.
##Authentication
For better security, save authentication data in a json formatted file named .ftppass
var gulp = require('gulp');
var sftp = require('gulp-sftp');
gulp.task('default', function () {
return gulp.src('src/*')
.pipe(sftp({
host: 'website.com',
auth: 'keyMain'
}));
});
.ftppass
{
"keyMain": {
"user": "username1",
"pass": "password1"
},
"privateKey": {
"user": "username"
},
"privateKeyEncrypted": {
"user": "username",
"passphrase": "passphrase1"
},
"privateKeyCustom": {
"user": "username",
"passphrase": "passphrase1",
"keyLocation": "/full/path/to/key"
}
}