diff options
| author | Michael Albinus | 2016-12-21 12:42:22 +0100 |
|---|---|---|
| committer | Michael Albinus | 2016-12-21 12:42:22 +0100 |
| commit | 8661313efd5fd5b0a27fe82f276a1ff862646424 (patch) | |
| tree | acdb27c91f2380b3aa13e25c36dc26a8e1cea5a5 /doc/misc | |
| parent | 221d3a9767422ba783aedcd354fd1fe2d60e9bb3 (diff) | |
| download | emacs-8661313efd5fd5b0a27fe82f276a1ff862646424.tar.gz emacs-8661313efd5fd5b0a27fe82f276a1ff862646424.zip | |
Remove gateway methods in Tramp
* doc/misc/tramp.texi (Top, Configuration): Remove section
`Gateway methods', insert section `Firewalls' in menu.
(History): Gateways are removed now.
(Gateway methods): Remove section.
(Multi-hops, Traces and Profiles): Don't reference to gateways anymore.
(Firewalls): New section.
* etc/NEWS: Gateway methods in Tramp have been removed.
* lisp/net/tramp.el (tramp-methods): Adapt docstring.
(tramp-file-name-port, tramp-accept-process-output): Simplify.
* lisp/net/tramp-gw.el: Remove.
* lisp/net/tramp-sh.el (tramp-gw-tunnel-method)
(tramp-gw-socks-method): Remove declarations.
(tramp-methods) <scp, scpx, ssh, sshx, telnet, nc, plink, pscp>:
Remove `tramp-gw-args' and `tramp-default-port'. (Bug#18967)
(tramp-do-copy-or-rename-file-out-of-band)
(tramp-compute-multi-hops, tramp-maybe-open-connection):
Remove gateway support.
* test/lisp/net/tramp-tests.el (tramp-test03-file-name-defaults):
Remove gateway tests.
Diffstat (limited to 'doc/misc')
| -rw-r--r-- | doc/misc/tramp.texi | 139 |
1 files changed, 55 insertions, 84 deletions
diff --git a/doc/misc/tramp.texi b/doc/misc/tramp.texi index 955a13e477a..1ba22e0b594 100644 --- a/doc/misc/tramp.texi +++ b/doc/misc/tramp.texi | |||
| @@ -143,11 +143,11 @@ Configuring @value{tramp} for use | |||
| 143 | * Inline methods:: Inline methods. | 143 | * Inline methods:: Inline methods. |
| 144 | * External methods:: External methods. | 144 | * External methods:: External methods. |
| 145 | * GVFS based methods:: GVFS based external methods. | 145 | * GVFS based methods:: GVFS based external methods. |
| 146 | * Gateway methods:: Gateway methods. | ||
| 147 | * Default Method:: Selecting a default method. | 146 | * Default Method:: Selecting a default method. |
| 148 | * Default User:: Selecting a default user. | 147 | * Default User:: Selecting a default user. |
| 149 | * Default Host:: Selecting a default host. | 148 | * Default Host:: Selecting a default host. |
| 150 | * Multi-hops:: Connecting to a remote host using multiple hops. | 149 | * Multi-hops:: Connecting to a remote host using multiple hops. |
| 150 | * Firewalls:: Passing firewalls. | ||
| 151 | * Customizing Methods:: Using Non-Standard Methods. | 151 | * Customizing Methods:: Using Non-Standard Methods. |
| 152 | * Customizing Completion:: Selecting config files for user/host name completion. | 152 | * Customizing Completion:: Selecting config files for user/host name completion. |
| 153 | * Password handling:: Reusing passwords for several connections. | 153 | * Password handling:: Reusing passwords for several connections. |
| @@ -406,10 +406,11 @@ April 2000 was the first time when multi-hop methods were added. In | |||
| 406 | July 2002, @value{tramp} unified file names with Ange-FTP@. In July | 406 | July 2002, @value{tramp} unified file names with Ange-FTP@. In July |
| 407 | 2004, proxy hosts replaced multi-hop methods. Running commands on | 407 | 2004, proxy hosts replaced multi-hop methods. Running commands on |
| 408 | remote hosts was introduced in December 2005. Support for gateways | 408 | remote hosts was introduced in December 2005. Support for gateways |
| 409 | since April 2007. GVFS integration started in February 2009. Remote | 409 | since April 2007 (and removed in December 2016). GVFS integration |
| 410 | commands on Windows hosts since September 2011. Ad-hoc multi-hop | 410 | started in February 2009. Remote commands on Windows hosts since |
| 411 | methods (with a changed syntax) re-enabled in November 2011. In | 411 | September 2011. Ad-hoc multi-hop methods (with a changed syntax) |
| 412 | November 2012, added Juergen Hoetzel's @file{tramp-adb.el}. | 412 | re-enabled in November 2011. In November 2012, added Juergen |
| 413 | Hoetzel's @file{tramp-adb.el}. | ||
| 413 | 414 | ||
| 414 | XEmacs support has been stopped in January 2016. | 415 | XEmacs support has been stopped in January 2016. |
| 415 | 416 | ||
| @@ -453,7 +454,6 @@ installed and loaded: | |||
| 453 | * Inline methods:: Inline methods. | 454 | * Inline methods:: Inline methods. |
| 454 | * External methods:: External methods. | 455 | * External methods:: External methods. |
| 455 | * GVFS based methods:: GVFS based external methods. | 456 | * GVFS based methods:: GVFS based external methods. |
| 456 | * Gateway methods:: Gateway methods. | ||
| 457 | * Default Method:: Selecting a default method. | 457 | * Default Method:: Selecting a default method. |
| 458 | Here we also try to help those who | 458 | Here we also try to help those who |
| 459 | don't have the foggiest which method | 459 | don't have the foggiest which method |
| @@ -461,6 +461,7 @@ installed and loaded: | |||
| 461 | * Default User:: Selecting a default user. | 461 | * Default User:: Selecting a default user. |
| 462 | * Default Host:: Selecting a default host. | 462 | * Default Host:: Selecting a default host. |
| 463 | * Multi-hops:: Connecting to a remote host using multiple hops. | 463 | * Multi-hops:: Connecting to a remote host using multiple hops. |
| 464 | * Firewalls:: Passing firewalls. | ||
| 464 | * Customizing Methods:: Using Non-Standard Methods. | 465 | * Customizing Methods:: Using Non-Standard Methods. |
| 465 | * Customizing Completion:: Selecting config files for user/host name completion. | 466 | * Customizing Completion:: Selecting config files for user/host name completion. |
| 466 | * Password handling:: Reusing passwords for several connections. | 467 | * Password handling:: Reusing passwords for several connections. |
| @@ -997,51 +998,6 @@ Other methods to include are: @option{ftp} and @option{smb}. | |||
| 997 | @end defopt | 998 | @end defopt |
| 998 | 999 | ||
| 999 | 1000 | ||
| 1000 | @node Gateway methods | ||
| 1001 | @section Gateway methods | ||
| 1002 | @cindex methods, gateway | ||
| 1003 | @cindex gateway methods | ||
| 1004 | |||
| 1005 | Gateway methods are for proxy host declarations (@pxref{Multi-hops}) | ||
| 1006 | so as to pass through firewalls and proxy servers. They are not like | ||
| 1007 | the other methods that declare direct connections to a remote host. | ||
| 1008 | |||
| 1009 | A gateway method always comes with a port setting. @value{tramp} | ||
| 1010 | targets the port number with the gateway method | ||
| 1011 | @file{localhost#random_port} from where the firewall or proxy server | ||
| 1012 | is accessed. | ||
| 1013 | |||
| 1014 | Gateway methods support user name and password declarations for | ||
| 1015 | authenticating the corresponding firewall or proxy server. Such | ||
| 1016 | authentication can be passed through only if granted access by system | ||
| 1017 | administrators. | ||
| 1018 | |||
| 1019 | @table @asis | ||
| 1020 | @item @option{tunnel} | ||
| 1021 | @cindex method tunnel | ||
| 1022 | @cindex tunnel method | ||
| 1023 | |||
| 1024 | This method implements an HTTP tunnel via the @command{CONNECT} | ||
| 1025 | command (conforming to RFC 2616, 2817 specifications). Proxy servers | ||
| 1026 | using HTTP version 1.1 or later protocol support this command. | ||
| 1027 | |||
| 1028 | For authentication, this protocol uses only @option{Basic | ||
| 1029 | Authentication} (see RFC 2617). When no port number is specified, this | ||
| 1030 | protocol defaults to @option{8080}. | ||
| 1031 | |||
| 1032 | @item @option{socks} | ||
| 1033 | @cindex method socks | ||
| 1034 | @cindex socks method | ||
| 1035 | |||
| 1036 | The @option{socks} method connects to SOCKSv5 servers (see RFC 1928) | ||
| 1037 | and supports @option{Username/Password Authentication}. | ||
| 1038 | |||
| 1039 | The default port number for the socks server is @option{1080}, if not | ||
| 1040 | specified otherwise. | ||
| 1041 | |||
| 1042 | @end table | ||
| 1043 | |||
| 1044 | |||
| 1045 | @node Default Method | 1001 | @node Default Method |
| 1046 | @section Selecting a default method | 1002 | @section Selecting a default method |
| 1047 | @cindex default method | 1003 | @cindex default method |
| @@ -1244,9 +1200,8 @@ regular expression which always matches. | |||
| 1244 | @var{proxy} is a literal @value{tramp} file name whose local name part | 1200 | @var{proxy} is a literal @value{tramp} file name whose local name part |
| 1245 | is ignored, and the method and user name parts are optional. | 1201 | is ignored, and the method and user name parts are optional. |
| 1246 | 1202 | ||
| 1247 | The method must be an inline or gateway method (@pxref{Inline | 1203 | The method must be an inline method (@pxref{Inline methods}). If |
| 1248 | methods}, @pxref{Gateway methods}). | 1204 | @var{proxy} is @code{nil}, no additional hop is required reaching |
| 1249 | If @var{proxy} is @code{nil}, no additional hop is required reaching | ||
| 1250 | @var{user}@@@var{host}. | 1205 | @var{user}@@@var{host}. |
| 1251 | 1206 | ||
| 1252 | For example, to pass through the host @samp{bastion.your.domain} as | 1207 | For example, to pass through the host @samp{bastion.your.domain} as |
| @@ -1313,32 +1268,6 @@ local one, first connect via @command{ssh}, and then apply | |||
| 1313 | '((regexp-quote (system-name)) nil nil)) | 1268 | '((regexp-quote (system-name)) nil nil)) |
| 1314 | @end group | 1269 | @end group |
| 1315 | @end lisp | 1270 | @end lisp |
| 1316 | |||
| 1317 | The above configuration allows @value{tramp} connection as @samp{root} | ||
| 1318 | to remote Ubuntu hosts. | ||
| 1319 | |||
| 1320 | @option{tramp-default-proxies-alist} is also used for passing through | ||
| 1321 | firewalls or proxy servers. | ||
| 1322 | |||
| 1323 | For example, the local host @samp{proxy.your.domain} on port 3128 | ||
| 1324 | serves as HTTP proxy to the outer world. User has access rights to | ||
| 1325 | another proxy server on @samp{host.other.domain}.@footnote{HTTP tunnels | ||
| 1326 | are intended for secure SSL/TLS communication. Therefore, many proxy | ||
| 1327 | servers restrict the tunnels to related target ports. You might need | ||
| 1328 | to run your ssh server on your target host @samp{host.other.domain} on | ||
| 1329 | such a port, like 443 (https). See | ||
| 1330 | @uref{http://savannah.gnu.org/maintenance/CvsFromBehindFirewall} for | ||
| 1331 | discussion of ethical issues.} Then the configuration is: | ||
| 1332 | |||
| 1333 | @lisp | ||
| 1334 | @group | ||
| 1335 | (add-to-list 'tramp-default-proxies-alist | ||
| 1336 | '("\\`host\\.other\\.domain\\'" nil | ||
| 1337 | "@trampfn{tunnel,proxy.your.domain#3128,}")) | ||
| 1338 | @end group | ||
| 1339 | @end lisp | ||
| 1340 | |||
| 1341 | Gateway methods in a multiple hop chain can be declared only as the first hop. | ||
| 1342 | @end defopt | 1271 | @end defopt |
| 1343 | 1272 | ||
| 1344 | Passing through hops involves dealing with restricted shells, such as | 1273 | Passing through hops involves dealing with restricted shells, such as |
| @@ -1362,6 +1291,50 @@ restricted shell: | |||
| 1362 | @end defopt | 1291 | @end defopt |
| 1363 | 1292 | ||
| 1364 | 1293 | ||
| 1294 | @node Firewalls | ||
| 1295 | @section Passing firewalls | ||
| 1296 | @cindex HTTP tunnel | ||
| 1297 | @cindex proxy hosts, HTTP tunnel | ||
| 1298 | |||
| 1299 | Sometimes, it is not possible to reach a remote host directly. A | ||
| 1300 | firewall might be in the way, which could be passed via a proxy | ||
| 1301 | server. | ||
| 1302 | |||
| 1303 | Both ssh and PuTTY support such proxy settings, using an HTTP tunnel | ||
| 1304 | via the @command{CONNECT} command (conforming to RFC 2616, 2817 | ||
| 1305 | specifications). Proxy servers using HTTP version 1.1 or later | ||
| 1306 | protocol support this command. | ||
| 1307 | |||
| 1308 | @subsection Tunneling with ssh | ||
| 1309 | |||
| 1310 | With ssh, you could use the @code{ProxyCommand} entry in the | ||
| 1311 | @file{~/.ssh/config}: | ||
| 1312 | |||
| 1313 | @example | ||
| 1314 | @group | ||
| 1315 | Host host.other.domain | ||
| 1316 | ProxyCommand nc -X connect -x proxy.your.domain:3128 %h %p | ||
| 1317 | @end group | ||
| 1318 | @end example | ||
| 1319 | |||
| 1320 | @code{nc} is BSD's netcat program, which establishes HTTP tunnels. Any | ||
| 1321 | other program with such a feature could be used as well. | ||
| 1322 | |||
| 1323 | In the example, opening @file{@trampfn{ssh,host.your.domain,}} passes | ||
| 1324 | the HTTP proxy server @samp{proxy.your.domain} on port 3128. | ||
| 1325 | |||
| 1326 | @subsection Tunneling with PuTTY | ||
| 1327 | |||
| 1328 | PuTTY does not need an external program, HTTP tunnel support is | ||
| 1329 | built-in. In the PuTTY config program, create a session for | ||
| 1330 | @samp{host.your.domain}. In the @option{Connection/Data} entry, | ||
| 1331 | select the @option{HTTP} option, and add @samp{proxy.your.domain} as | ||
| 1332 | @option{Proxy hostname}, and 3128 as @option{Port}. | ||
| 1333 | |||
| 1334 | Opening @file{@trampfn{plinkx,host.your.domain,}} passes the HTTP | ||
| 1335 | proxy server @samp{proxy.your.domain} on port 3128. | ||
| 1336 | |||
| 1337 | |||
| 1365 | @node Customizing Methods | 1338 | @node Customizing Methods |
| 1366 | @section Using Non-Standard Methods | 1339 | @section Using Non-Standard Methods |
| 1367 | @cindex customizing methods | 1340 | @cindex customizing methods |
| @@ -3618,14 +3591,12 @@ have to be specifically enabled as shown in this code: | |||
| 3618 | (dolist (elt (all-completions "tramp-" obarray 'functionp)) | 3591 | (dolist (elt (all-completions "tramp-" obarray 'functionp)) |
| 3619 | (trace-function-background (intern elt))) | 3592 | (trace-function-background (intern elt))) |
| 3620 | (untrace-function 'tramp-read-passwd) | 3593 | (untrace-function 'tramp-read-passwd) |
| 3621 | (untrace-function 'tramp-gw-basic-authentication) | ||
| 3622 | @end group | 3594 | @end group |
| 3623 | @end lisp | 3595 | @end lisp |
| 3624 | 3596 | ||
| 3625 | The buffer @file{*trace-output*} contains the output from the function | 3597 | The buffer @file{*trace-output*} contains the output from the function |
| 3626 | call traces. Disable @code{tramp-read-passwd} and | 3598 | call traces. Disable @code{tramp-read-passwd} to stop password |
| 3627 | @code{tramp-gw-basic-authentication} to stop password strings from | 3599 | strings from being written to @file{*trace-output*}. |
| 3628 | being written to @file{*trace-output*}. | ||
| 3629 | 3600 | ||
| 3630 | 3601 | ||
| 3631 | @node GNU Free Documentation License | 3602 | @node GNU Free Documentation License |