aboutsummaryrefslogtreecommitdiffstats
path: root/doc/misc
diff options
context:
space:
mode:
authorMichael Albinus2016-12-21 12:42:22 +0100
committerMichael Albinus2016-12-21 12:42:22 +0100
commit8661313efd5fd5b0a27fe82f276a1ff862646424 (patch)
treeacdb27c91f2380b3aa13e25c36dc26a8e1cea5a5 /doc/misc
parent221d3a9767422ba783aedcd354fd1fe2d60e9bb3 (diff)
downloademacs-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.texi139
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
406July 2002, @value{tramp} unified file names with Ange-FTP@. In July 406July 2002, @value{tramp} unified file names with Ange-FTP@. In July
4072004, proxy hosts replaced multi-hop methods. Running commands on 4072004, proxy hosts replaced multi-hop methods. Running commands on
408remote hosts was introduced in December 2005. Support for gateways 408remote hosts was introduced in December 2005. Support for gateways
409since April 2007. GVFS integration started in February 2009. Remote 409since April 2007 (and removed in December 2016). GVFS integration
410commands on Windows hosts since September 2011. Ad-hoc multi-hop 410started in February 2009. Remote commands on Windows hosts since
411methods (with a changed syntax) re-enabled in November 2011. In 411September 2011. Ad-hoc multi-hop methods (with a changed syntax)
412November 2012, added Juergen Hoetzel's @file{tramp-adb.el}. 412re-enabled in November 2011. In November 2012, added Juergen
413Hoetzel's @file{tramp-adb.el}.
413 414
414XEmacs support has been stopped in January 2016. 415XEmacs 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
1005Gateway methods are for proxy host declarations (@pxref{Multi-hops})
1006so as to pass through firewalls and proxy servers. They are not like
1007the other methods that declare direct connections to a remote host.
1008
1009A gateway method always comes with a port setting. @value{tramp}
1010targets the port number with the gateway method
1011@file{localhost#random_port} from where the firewall or proxy server
1012is accessed.
1013
1014Gateway methods support user name and password declarations for
1015authenticating the corresponding firewall or proxy server. Such
1016authentication can be passed through only if granted access by system
1017administrators.
1018
1019@table @asis
1020@item @option{tunnel}
1021@cindex method tunnel
1022@cindex tunnel method
1023
1024This method implements an HTTP tunnel via the @command{CONNECT}
1025command (conforming to RFC 2616, 2817 specifications). Proxy servers
1026using HTTP version 1.1 or later protocol support this command.
1027
1028For authentication, this protocol uses only @option{Basic
1029Authentication} (see RFC 2617). When no port number is specified, this
1030protocol defaults to @option{8080}.
1031
1032@item @option{socks}
1033@cindex method socks
1034@cindex socks method
1035
1036The @option{socks} method connects to SOCKSv5 servers (see RFC 1928)
1037and supports @option{Username/Password Authentication}.
1038
1039The default port number for the socks server is @option{1080}, if not
1040specified 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
1245is ignored, and the method and user name parts are optional. 1201is ignored, and the method and user name parts are optional.
1246 1202
1247The method must be an inline or gateway method (@pxref{Inline 1203The method must be an inline method (@pxref{Inline methods}). If
1248methods}, @pxref{Gateway methods}). 1204@var{proxy} is @code{nil}, no additional hop is required reaching
1249If @var{proxy} is @code{nil}, no additional hop is required reaching
1250@var{user}@@@var{host}. 1205@var{user}@@@var{host}.
1251 1206
1252For example, to pass through the host @samp{bastion.your.domain} as 1207For 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
1317The above configuration allows @value{tramp} connection as @samp{root}
1318to remote Ubuntu hosts.
1319
1320@option{tramp-default-proxies-alist} is also used for passing through
1321firewalls or proxy servers.
1322
1323For example, the local host @samp{proxy.your.domain} on port 3128
1324serves as HTTP proxy to the outer world. User has access rights to
1325another proxy server on @samp{host.other.domain}.@footnote{HTTP tunnels
1326are intended for secure SSL/TLS communication. Therefore, many proxy
1327servers restrict the tunnels to related target ports. You might need
1328to run your ssh server on your target host @samp{host.other.domain} on
1329such a port, like 443 (https). See
1330@uref{http://savannah.gnu.org/maintenance/CvsFromBehindFirewall} for
1331discussion 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
1341Gateway methods in a multiple hop chain can be declared only as the first hop.
1342@end defopt 1271@end defopt
1343 1272
1344Passing through hops involves dealing with restricted shells, such as 1273Passing 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
1299Sometimes, it is not possible to reach a remote host directly. A
1300firewall might be in the way, which could be passed via a proxy
1301server.
1302
1303Both ssh and PuTTY support such proxy settings, using an HTTP tunnel
1304via the @command{CONNECT} command (conforming to RFC 2616, 2817
1305specifications). Proxy servers using HTTP version 1.1 or later
1306protocol support this command.
1307
1308@subsection Tunneling with ssh
1309
1310With ssh, you could use the @code{ProxyCommand} entry in the
1311@file{~/.ssh/config}:
1312
1313@example
1314@group
1315Host 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
1321other program with such a feature could be used as well.
1322
1323In the example, opening @file{@trampfn{ssh,host.your.domain,}} passes
1324the HTTP proxy server @samp{proxy.your.domain} on port 3128.
1325
1326@subsection Tunneling with PuTTY
1327
1328PuTTY does not need an external program, HTTP tunnel support is
1329built-in. In the PuTTY config program, create a session for
1330@samp{host.your.domain}. In the @option{Connection/Data} entry,
1331select the @option{HTTP} option, and add @samp{proxy.your.domain} as
1332@option{Proxy hostname}, and 3128 as @option{Port}.
1333
1334Opening @file{@trampfn{plinkx,host.your.domain,}} passes the HTTP
1335proxy 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
3625The buffer @file{*trace-output*} contains the output from the function 3597The buffer @file{*trace-output*} contains the output from the function
3626call traces. Disable @code{tramp-read-passwd} and 3598call traces. Disable @code{tramp-read-passwd} to stop password
3627@code{tramp-gw-basic-authentication} to stop password strings from 3599strings from being written to @file{*trace-output*}.
3628being written to @file{*trace-output*}.
3629 3600
3630 3601
3631@node GNU Free Documentation License 3602@node GNU Free Documentation License