Merge pull request #896 from restic/fix-895

doc: Add section about how to change the sftp port
This commit is contained in:
Alexander Neumann 2017-03-25 09:31:29 +01:00
commit 6a8700d86c
2 changed files with 37 additions and 4 deletions

View File

@ -517,6 +517,40 @@ You can also specify a relative (read: no slash (`/`) character at the
beginning) directory, in this case the dir is relative to the remote user's beginning) directory, in this case the dir is relative to the remote user's
home directory. home directory.
The backend config string does not allow specifying a port. If you need to
contact an sftp server on a different port, you can create an entry in the
`ssh` file, usually located in your user's home directory at `~/.ssh/config` or
in `/etc/ssh/ssh_config`:
```
Host foo
User bar
Port 2222
```
Then use the specified host name `foo` normally (you don't need to specify the
user name in this case):
```
$ restic -r sftp:foo:/tmp/backup init
```
You can also add an entry with a special host name which does not exist, just
for use with restic, and use the `Hostname` option to set the real host name:
```
Host restic-backup-host
Hostname foo
User bar
Port 2222
```
Then use it in the backend specification:
```
$ restic -r sftp:restic-backup-host:/tmp/backup init
```
# Create a REST server repository # Create a REST server repository
In order to backup data to the remote server via HTTP or HTTPS protocol, In order to backup data to the remote server via HTTP or HTTPS protocol,

View File

@ -15,10 +15,9 @@ type Config struct {
// ParseConfig parses the string s and extracts the sftp config. The // ParseConfig parses the string s and extracts the sftp config. The
// supported configuration formats are sftp://user@host/directory // supported configuration formats are sftp://user@host/directory
// (with an optional port sftp://user@host:port/directory) and // and sftp:user@host:directory. The directory will be path Cleaned and can
// sftp:user@host:directory. The directory will be path Cleaned and // be an absolute path if it starts with a '/' (e.g.
// can be an absolute path if it starts with a '/' // sftp://user@host//absolute and sftp:user@host:/absolute).
// (e.g. sftp://user@host//absolute and sftp:user@host:/absolute).
func ParseConfig(s string) (interface{}, error) { func ParseConfig(s string) (interface{}, error) {
var user, host, dir string var user, host, dir string
switch { switch {