/[tramp]/tramp/texi/tramp.texi
ViewVC logotype

Diff of /tramp/texi/tramp.texi

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2.61 by kai, Tue Sep 24 16:22:16 2002 UTC revision 2.62 by albinus, Fri Sep 27 21:37:15 2002 UTC
# Line 661  features of Emacs to decode and encode t Line 661  features of Emacs to decode and encode t
661  access to external commands to perform that task.  access to external commands to perform that task.
662    
663  @cindex uuencode  @cindex uuencode
 @tramp{} supports the use of @command{uuencode} to transfer files.  
 This is @emph{not} recommended.  The @command{uuencode} and  
 @command{uudecode} commands are not well standardized and may not  
 function correctly or at all on some machines, notably AIX and IRIX.  
 These systems do not work with @command{uuencode} at all.  (But do see  
 the note about AIX in the documentation for @var{tramp-methods}.)  
   
664  @cindex mimencode  @cindex mimencode
665  @cindex base-64 encoding  @cindex base-64 encoding
666  In summary, if possible use the @command{mimencode} methods to transfer  @tramp{} checks the availability and usability of commands like
667  the data base64 encoded. This has the advantage of using a built-in  @command{mimencode} (part of the @command{metamail} package) or
668  command in every modern Emacs, improving performance.  @command{uuencode} on the remote host.  The first reliable command
669    will be used.  The search path can be customized, see @ref{Remote
670    Programs}.
671    
672    If both commands are'nt available on the remote host, @tramp{}
673    transfers a small piece of Perl code to the remote host, and tries to
674    apply it for encoding and decoding.
675    
676    
677  @table @asis  @table @asis
678  @item @option{rm}  ---  @command{rsh} with @command{mimencode}  @item @option{rsh}
679  @cindex method rm  @cindex method rsh
680  @cindex rm method  @cindex rsh method
681  @cindex method using rsh (rm)  
682    Connect to the remote host with @command{rsh}.  Due to the unsecure
683  Connect to the remote host with @command{rsh} and use base64 encoding to  connection it is recommended for very local host topology only.
684  transfer files between the machines.  
   
 This requires the @command{mimencode} command that is part of the  
 @command{metamail} packages. This may not be installed on all remote  
 machines.  
   
   
 @item @option{sm}  ---  @command{ssh} with @command{mimencode}  
 @cindex method sm  
 @cindex sm method  
 @cindex method using ssh (sm)  
 @cindex ssh (with sm method)  
 @cindex mimencode (with sm method)  
 @cindex base-64 encoding (with sm method)  
685    
686  Connect to the remote host with @command{ssh} and use base64 encoding to  @item @option{ssh}
687  transfer files between the machines.  @cindex method ssh
688    @cindex ssh method
689    
690  This is identical to the previous option except that the @command{ssh}  Connect to the remote host with @command{ssh}.  This is identical to
691  package is used, making the connection more secure.  the previous option except that the @command{ssh} package is used,
692    making the connection more secure.
693    
694  There are also two variants, @option{sm1} and @option{sm2}, that call  There are also two variants, @option{ssh1} and @option{ssh2}, that
695  @samp{ssh -1} and @samp{ssh -2}, respectively.  This way, you can  call @samp{ssh -1} and @samp{ssh -2}, respectively.  This way, you can
696  explicitly select whether you want to use the SSH protocol version 1  explicitly select whether you want to use the SSH protocol version 1
697  or 2 to connect to the remote host.  (You can also specify in  or 2 to connect to the remote host.  (You can also specify in
698  @file{~/.ssh/config}, the SSH configuration file, which protocol  @file{~/.ssh/config}, the SSH configuration file, which protocol
699  should be used, and use the regular @option{sm} method.)  should be used, and use the regular @option{ssh} method.)
700    
701  There are also two variants, @option{sm-ssh1} and @option{sm-ssh2}  Two other variants, @option{ssh1_old} and @option{ssh2_old}, use the
702  that use the @command{ssh1} and @command{ssh2} commands explicitly. If  @command{ssh1} and @command{ssh2} commands explicitly.  If you don't
703  you don't know what these are, you do not need these options.  know what these are, you do not need these options.
704    
705  All the methods based on @command{ssh} have an additional kludgy  All the methods based on @command{ssh} have an additional kludgy
706  feature: you can specify a host name which looks like @file{host#42}  feature: you can specify a host name which looks like @file{host#42}
# Line 720  means to connect to the given host but t Line 709  means to connect to the given host but t
709  arguments to the @command{ssh} command.  arguments to the @command{ssh} command.
710    
711    
712  @item @option{tm}  ---  @command{telnet} with @command{mimencode}  @item @option{telnet}
713  @cindex method tm  @cindex method telnet
714  @cindex tm method  @cindex telnet method
 @cindex method using telnet (tm)  
 @cindex telnet (with tm method)  
 @cindex mimencode (with tm method)  
 @cindex base-64 encoding (with tm method)  
   
 Connect to the remote host with @command{telnet} and use base64 encoding  
 to transfer files between the machines.  
   
 This requires the @command{mimencode} command that is part of the  
 @command{metamail} packages.  
   
   
 @item @option{ru}  ---  @command{rsh} with @command{uuencode}  
 @cindex method ru  
 @cindex ru method  
 @cindex method using rsh  
 @cindex rsh (with ru method)  
 @cindex uuencode (with ru method)  
   
 Connect to the remote host with @command{rsh} and use the  
 @command{uuencode} and @command{uudecode} commands to transfer files  
 between the machines.  
715    
716    Connect to the remote host with @command{telnet}.  This is as unsecure
717    as the @option{rsh} method.
718    
719  @item @option{su}  ---  @command{ssh} with @command{uuencode}  
720    @item @option{su}
721  @cindex method su  @cindex method su
722  @cindex su method  @cindex su method
 @cindex method using ssh (su)  
 @cindex ssh (with su method)  
 @cindex uuencode (with su method)  
   
 Connect to the remote host with @command{ssh} and use the  
 @command{uuencode} and @command{uudecode} commands to transfer files  
 between the machines.  
   
 As with the @command{ssh} and base64 option (@option{sm}) above, this  
 provides the @option{su1} and @option{su2} methods to explicitly  
 select an SSH protocol version, and the @option{su-ssh1} and  
 @option{su-ssh2} variants to call specific SSH binaries.  
   
 Note that this method does not invoke the @command{su} program, see  
 below for methods which use that.  
723    
724  This supports the @samp{-p} kludge.  This method does not connect to a remote host at all, rather it uses
725    the @command{su} program to allow you to edit files as another user.
726    
727    
728  @item @option{tu}  ---  @command{telnet} with @command{uuencode}  @item @option{sudo}
729  @cindex tu method  @cindex method sudo
730  @cindex method tu  @cindex sudo method
 @cindex method using telnet (tu)  
 @cindex telnet (with tu method)  
 @cindex uuencode (with tu method)  
   
 Connect to the remote host with @command{telnet} and use the  
 @command{uuencode} and @command{uudecode} commands to transfer files  
 between the machines.  
   
   
 @item @option{sum} --- @command{su} with @command{mimencode}  
 @cindex method sum  
 @cindex sum method  
 @cindex method using su (sum)  
 @cindex su (with sum method)  
 @cindex mimencode (with sum method)  
 @cindex base-64 encoding (with sum method)  
   
 This method does not connect to a remote host at all, rather it uses the  
 @command{su} program to allow you to edit files as another user.  Uses  
 base64 encoding to transfer the file contents.  
   
   
 @item @option{suu} --- @command{su} with @command{uuencode}  
 @cindex method suu  
 @cindex suu method  
 @cindex method using su (suu)  
 @cindex su (with suu method)  
 @cindex uuencode (with suu method)  
   
 Like @option{sum}, this uses the @command{su} program to allow you to  
 edit files on the local host as another user.  Uses @command{uuencode}  
 and @command{uudecode} to transfer the file contents.  
   
   
 @item @option{sudm} --- @command{sudo} with @command{mimencode}  
 @cindex method sudm  
 @cindex sudm method  
 @cindex method using sudo (sudm)  
 @cindex sudo (with sudm method)  
 @cindex mimencode (with sudm method)  
 @cindex base-64 encoding (with sudm method)  
731    
732  This is similar to the @option{sum} method, but it uses @command{sudo}  This is similar to the @option{su} method, but it uses @command{sudo}
733  rather than @command{su} to become a different user.  rather than @command{su} to become a different user.
734    
735  Note that @command{sudo} must be configured to allow you to start a  Note that @command{sudo} must be configured to allow you to start a
736  shell as the user.  It would be nice if it was sufficient if  shell as the user.  It would be nice if it was sufficient if
737  @command{ls} and @command{mimencode} were allowed, but that is not easy  @command{ls} and @command{mimencode} were allowed, but that is not
738  to implement, so I haven't got around to it, yet.  easy to implement, so I haven't got around to it, yet.
739    
740    
741  @item @option{sudu} --- @command{sudo} with @command{uuencode}  @item @option{sshx}
742  @cindex method sudu  @cindex method sshx
743  @cindex sudu method  @cindex sshx method
744  @cindex method using sudo (sudu)  @cindex Cygwin (with sshx method)
 @cindex sudo (with sudu method)  
 @cindex uuencode (with sudu method)  
745    
746  This is similar to the @option{suu} method, but it uses @command{sudo}  As you expect, this is similar to @option{ssh}, only a little
747  rather than @command{su} to become a different user.  different.  Whereas @option{ssh} opens a normal interactive shell on
   
   
 @item @option{smx} --- @command{ssh} with @command{mimencode}  
 @cindex method smx  
 @cindex smx method  
 @cindex method using ssh (smx)  
 @cindex ssh (with smx method)  
 @cindex mimencode (with smx method)  
 @cindex base-64 encoding (with smx method)  
 @cindex Cygwin (with smx method)  
   
 As you expect, this is similar to @option{sm}, only a little  
 different.  Whereas @option{sm} opens a normal interactive shell on  
748  the remote host, this option uses @samp{ssh -t -t @var{host} -l  the remote host, this option uses @samp{ssh -t -t @var{host} -l
749  @var{user} /bin/sh} to open a connection.  This is useful for users  @var{user} /bin/sh} to open a connection.  This is useful for users
750  where the normal login shell is set up to ask them a number of  where the normal login shell is set up to ask them a number of
# Line 869  require the doubled @samp{-t} option. Line 769  require the doubled @samp{-t} option.
769  This supports the @samp{-p} kludge.  This supports the @samp{-p} kludge.
770    
771    
772  @item @option{km} --- @command{krlogin} with @command{mimencode}  @item @option{krlogin}
773  @cindex method km  @cindex method krlogin
774  @cindex km method  @cindex km krlogin
775  @cindex krlogin (with km method)  @cindex Kerberos (with krlogin method)
 @cindex Kerberos (with km method)  
 @cindex mimencode (with km method)  
 @cindex base-64 encoding (with km method)  
776    
777  This method is also similar to @option{sm}.  It only uses the  This method is also similar to @option{ssh}.  It only uses the
778  @command{krlogin -x} command to log in to the remote host.  @command{krlogin -x} command to log in to the remote host.
779    
780    
781  @item @option{plinku} --- @command{plink} with @command{uuencode}  @item @option{plink}
782  @cindex method plinku  @cindex method plink
783  @cindex plinku method  @cindex plink method
 @cindex method using plink (plinku)  
 @cindex plink (with plinku method)  
 @cindex uuencode (with plinku method)  
784    
785  This method is mostly interesting for Windows users using the PuTTY  This method is mostly interesting for Windows users using the PuTTY
786  implementation of SSH.  It uses @samp{plink -ssh} to log in to the  implementation of SSH.  It uses @samp{plink -ssh} to log in to the
# Line 898  line to accept the SSH key?  Maybe this Line 792  line to accept the SSH key?  Maybe this
792  CCC: Does @command{plink} support the @samp{-p} option?  Tramp  CCC: Does @command{plink} support the @samp{-p} option?  Tramp
793  will support that, anyway.  will support that, anyway.
794    
 @item @option{plinkm} --- @command{plink} with @command{mimencode}  
 @cindex method plinkm  
 @cindex plinkm method  
 @cindex method using plink (plinkm)  
 @cindex plink (with plinkm method)  
 @cindex mimencode (with plinkm method)  
 @cindex base-64 encoding (with plinkm method)  
   
 Like @option{plinku}, but uses base64 encoding instead of uu encoding.  
   
795  @end table  @end table
796    
797    
# Line 971  The cost of the cryptographic handshake Line 855  The cost of the cryptographic handshake
855  session can begin to absorb the advantage that the lack of encoding and  session can begin to absorb the advantage that the lack of encoding and
856  decoding presents.  decoding presents.
857    
858    There are also two variants, @option{scp1} and @option{scp2}, that
859    call @samp{ssh -1} and @samp{ssh -2}, respectively.  This way, you can
860    explicitly select whether you want to use the SSH protocol version 1
861    or 2 to connect to the remote host.  (You can also specify in
862    @file{~/.ssh/config}, the SSH configuration file, which protocol
863    should be used, and use the regular @option{ssh} method.)
864    
865    Two other variants, @option{scp1_old} and @option{scp2_old}, use the
866    @command{ssh1} and @command{ssh2} commands explicitly.  If you don't
867    know what these are, you do not need these options.
868    
869  All the @command{ssh} based methods support the kludgy @samp{-p}  All the @command{ssh} based methods support the kludgy @samp{-p}
870  feature where you can specify a port number to connect to in the host  feature where you can specify a port number to connect to in the host
871  name.  For example, the host name @file{host#42} tells Tramp to  name.  For example, the host name @file{host#42} tells Tramp to
# Line 1064  provided by the program is not very usef Line 959  provided by the program is not very usef
959  opens just one connection to the remote host and then keeps it open,  opens just one connection to the remote host and then keeps it open,
960  anyway.  anyway.
961    
962    
963    @ifset emacs
964    @item @option{ftp}
965    @cindex method ftp
966    @cindex ftp method
967    
968    This is not a natural @tramp{} method. Instead of, it forwards all
969    requests to @value{ftp-package-name}.
970    @end ifset
971    
972  @end table  @end table
973    
974  @node Multi-hop Methods  @node Multi-hop Methods
# Line 1079  Of course, the target host may also requ Line 984  Of course, the target host may also requ
984  of multi-hop filenames is slightly different than the format of normal  of multi-hop filenames is slightly different than the format of normal
985  @tramp{} methods.  @tramp{} methods.
986    
 A multi-hop file name specifies a method, a number of hops, and a path  
 name on the remote system.  The method specifies how the file is  
 transferred through the inline connection.  The following two multi-hop  
 methods are available:  
   
 @table @asis  
 @item @option{multi} --- base64 encoding with @command{mimencode}  
987  @cindex method multi  @cindex method multi
988  @cindex multi method  @cindex multi method
989  @cindex mimencode (with multi method)  A multi-hop file name specifies a method, a number of hops, and a path
990  @cindex base-64 encoding (with multi method)  name on the remote system.  The method name is always
991    @option{multi}.
 The file is transferred through the connection in base64 encoding.  Uses  
 the @command{mimencode} program for doing encoding and decoding, but  
 uses an Emacs internal implementation on the local host if available.  
   
 @item @option{multiu} --- use commands @command{uuencode} and @command{uudecode}  
 @cindex method multiu  
 @cindex multiu method  
 @cindex uuencode (with multiu method)  
   
 The file is transferred through the connection in `uu' encoding.  Uses  
 the @command{uuencode} and @command{uudecode} programs for encoding and  
 decoding, but uses a Lisp implementation for decoding on the local host  
 if available.  
   
 @end table  
992    
993  Each hop consists of a @dfn{hop method} specification, a user name and a  Each hop consists of a @dfn{hop method} specification, a user name and
994  host name.  The following hop methods are (currently) available:  a host name.  The hop method can be an inline method only.  The
995    following hop methods are (currently) available:
996    
997  @table @option  @table @option
998  @item telnet  @item telnet
# Line 1146  remote host as a non-root user, then use Line 1030  remote host as a non-root user, then use
1030  root.  But @option{su} need not be the last hop in a sequence, you could  root.  But @option{su} need not be the last hop in a sequence, you could
1031  also use it somewhere in the middle, if the need arises.  also use it somewhere in the middle, if the need arises.
1032    
1033  Even though you @emph{must} specify both user and host with a  Even though you @emph{must} specify both user and host with an
1034  @option{su} hop, the host name is ignored and only the user name is  @option{su} hop, the host name is ignored and only the user name is
1035  used.  used.
1036    
# Line 1163  Some people might wish to use port forwa Line 1047  Some people might wish to use port forwa
1047  maybe they have to use a nonstandard port.  This can be accomplished  maybe they have to use a nonstandard port.  This can be accomplished
1048  by putting a stanza in @file{~/.ssh/config} for the account which  by putting a stanza in @file{~/.ssh/config} for the account which
1049  specifies a different port number for a certain host name.  But it can  specifies a different port number for a certain host name.  But it can
1050  also be accomplished within Tramp, by adding a multi-hop method.  For  also be accomplished within @tramp{}, by adding a multi-hop method.
1051  example:  For example:
1052    
1053  @lisp  @lisp
1054  (add-to-list  (add-to-list

Legend:
Removed from v.2.61  
changed lines
  Added in v.2.62

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26