A few more man page format tweaks.
[rsync.git] / rsync-ssl.1.md
1 ## NAME
2
3 rsync-ssl - a helper script for connecting to an ssl rsync daemon
4
5 ## SYNOPSIS
6
7 ```
8 rsync-ssl [--type=SSL_TYPE] RSYNC_ARGS
9 ```
10
11 ## DESCRIPTION
12
13 The rsync-ssl script helps you to run an rsync copy to/from an rsync daemon
14 that requires ssl connections.
15
16 The script requires that you specify an rsync-daemon arg in the style of either
17 `hostname::` (with 2 colons) or `rsync://hostname/`.  The default port used for
18 connecting is 874 (one higher than the normal 873) unless overridden in the
19 environment.  You can specify an overriding port via `--port` or by including
20 it in the normal spot in the URL format, though both of those require your
21 rsync version to be at least 3.2.0.
22
23 ## OPTIONS
24
25 If the **first** arg is a `--type=SSL_TYPE` option, the script will only use
26 that particular program to open an ssl connection instead of trying to find an
27 openssl or stunnel executable via a simple heuristic (assuming that the
28 `RSYNC_SSL_TYPE` environment variable is not set as well -- see below).  This
29 option must specify one of `openssl` or `stunnel`.  The equal sign is
30 required for this particular option.
31
32 All the other options are passed through to the rsync command, so consult the
33 **rsync**(1) manpage for more information on how it works.
34
35 ## ENVIRONMENT VARIABLES
36
37 The ssl helper scripts are affected by the following environment variables:
38
39 0.  `RSYNC_SSL_TYPE`
40
41     Specifies the program type that should be used to open the ssl connection.
42     It must be one of `openssl` or `stunnel`.  The `--type=SSL_TYPE` option
43     overrides this, when specified.
44
45 0.  `RSYNC_SSL_PORT`
46
47     If specified, the value is the port number that is used as the default when
48     the user does not specify a port in their rsync command.  When not
49     specified, the default port number is 874.  (Note that older rsync versions
50     (prior to 3.2.0) did not communicate an overriding port number value to the
51     helper script.)
52
53 0.  `RSYNC_SSL_CERT`
54
55     If specified, the value is a filename that contains a certificate to use
56     for the connection.
57
58 0.  `RSYNC_SSL_KEY`
59
60     If specified, the value is a filename that contains a key for the provided
61     certificate to use for the connection.
62
63 0.  `RSYNC_SSL_CA_CERT`
64
65     If specified, the value is a filename that contains a certificate authority
66     certificate that is used to validate the connection.
67
68 0.  `RSYNC_SSL_OPENSSL`
69
70     Specifies the openssl executable to run when the connection type is set to
71     openssl.  If unspecified, the $PATH is searched for "openssl".
72
73 0.  `RSYNC_SSL_GNUTLS`
74
75     Specifies the gnutls-cli executable to run when the connection type is set
76     to gnutls.  If unspecified, the $PATH is searched for "gnutls-cli".
77
78 0.  `RSYNC_SSL_STUNNEL`
79
80     Specifies the stunnel executable to run when the connection type is set to
81     stunnel.  If unspecified, the $PATH is searched first for "stunnel4" and
82     then for "stunnel".
83
84 ## EXAMPLES
85
86 >     rsync-ssl -aiv example.com::mod/ dest
87
88 >     rsync-ssl --type=openssl -aiv example.com::mod/ dest
89
90 >     rsync-ssl -aiv --port 9874 example.com::mod/ dest
91
92 >     rsync-ssl -aiv rsync://example.com:9874/mod/ dest
93
94 ## SEE ALSO
95
96 **rsync**(1), **rsyncd.conf**(5)
97
98 ## CAVEATS
99
100 Note that using an stunnel connection requires at least version 4 of stunnel,
101 which should be the case on modern systems.  Also, it does not verify a
102 connection against the CA certificate collection, so it only encrypts the
103 connection without any cert validation unless you have specified the
104 certificate environment options.
105
106 This script also supports a `--type=gnutls` option, but at the time of this
107 release the gnutls-cli command was dropping output, making it unusable.  If
108 that bug has been fixed in your version, feel free to put gnutls into an
109 exported RSYNC_SSL_TYPE environment variable to make its use the default.
110
111 ## BUGS
112
113 Please report bugs! See the web site at <https://rsync.samba.org/>.
114
115 ## VERSION
116
117 This man page is current for version @VERSION@ of rsync.
118
119 ## CREDITS
120
121 rsync is distributed under the GNU General Public License.  See the file
122 COPYING for details.
123
124 A web site is available at <https://rsync.samba.org/>.  The site includes an
125 FAQ-O-Matic which may cover questions unanswered by this manual page.
126
127 ## AUTHOR
128
129 This manpage was written by Wayne Davison.
130
131 Mailing lists for support and development are available at
132 <https://lists.samba.org/>.