📄 plink.but
字号:
\versionid $Id: plink.but,v 1.1.1.3.2.2 2004/12/29 11:32:20 pekangas Exp $\C{plink} Using the command-line connection tool Plink\i{Plink} (PuTTY Link) is a command-line connection tool similar toUNIX \c{ssh}. It is mostly used for automated operations, such asmaking CVS access a repository on a remote server.Plink is probably not what you want if you want to run aninteractive session in a console window.\H{plink-starting} Starting PlinkPlink is a command line application. This means that you cannot justdouble-click on its icon to run it and instead you have to bring upa \i{console window}. In Windows 95, 98, and ME, this is called an\q{MS-DOS Prompt}, and in Windows NT and 2000 it is called a\q{Command Prompt}. It should be available from the Programs sectionof your Start Menu.In order to use Plink, the file \c{plink.exe} will need either to beon your \i{\c{PATH}} or in your current directory. To add thedirectory containing Plink to your \c{PATH} environment variable,type into the console window:\c set PATH=C:\path\to\putty\directory;%PATH%This will only work for the lifetime of that particular consolewindow. To set your \c{PATH} more permanently on Windows NT, use theEnvironment tab of the System Control Panel. On Windows 95, 98, andME, you will need to edit your \c{AUTOEXEC.BAT} to include a \c{set}command like the one above.\H{plink-usage} Using PlinkThis section describes the basics of how to use Plink forinteractive logins and for automated processes.Once you've got a console window to type into, you can just type\c{plink} on its own to bring up a usage message. This tells you theversion of Plink you're using, and gives you a brief summary of how touse Plink:\c Z:\sysosd>plink\c PuTTY Link: command-line connection utility\c Release 0.XX\c Usage: plink [options] [user@]host [command]\c ("host" can also be a PuTTY saved session name)\c Options:\c -V print version information\c -v show verbose messages\c -load sessname Load settings from saved session\c -ssh -telnet -rlogin -raw\c force use of a particular protocol\c -P port connect to specified port\c -l user connect with specified username\c -m file read remote command(s) from file\c -batch disable all interactive prompts\c The following options only apply to SSH connections:\c -pw passw login with specified password\c -D [listen-IP:]listen-port\c Dynamic SOCKS-based port forwarding\c -L [listen-IP:]listen-port:host:port\c Forward local port to remote address\c -R [listen-IP:]listen-port:host:port\c Forward remote port to local address\c -X -x enable / disable X11 forwarding\c -A -a enable / disable agent forwarding\c -t -T enable / disable pty allocation\c -1 -2 force use of particular protocol version\c -C enable compression\c -i key private key file for authentication\c -s remote command is an SSH subsystem (SSH-2 only)\c -N don't start a shell/command (SSH-2 only)Once this works, you are ready to use Plink.\S{plink-usage-interactive} Using Plink for interactive loginsTo make a simple interactive connection to a remote server, justtype \c{plink} and then the host name:\c Z:\sysosd>plink login.example.com\c\c Debian GNU/Linux 2.2 flunky.example.com\c flunky login:You should then be able to log in as normal and run a session. Theoutput sent by the server will be written straight to your commandprompt window, which will most likely not interpret terminal controlcodes in the way the server expects it to. So if you run anyfull-screen applications, for example, you can expect to see strangecharacters appearing in your window. Interactive connections likethis are not the main point of Plink.In order to connect with a different protocol, you can give thecommand line options \c{-ssh}, \c{-telnet}, \c{-rlogin} or \c{-raw}.To make an SSH connection, for example:\c Z:\sysosd>plink -ssh login.example.com\c login as:If you have already set up a PuTTY saved session, then instead ofsupplying a host name, you can give the saved session name. Thisallows you to use public-key authentication, specify a user name,and use most of the other features of PuTTY:\c Z:\sysosd>plink my-ssh-session\c Sent username "fred"\c Authenticating with public key "fred@winbox"\c Last login: Thu Dec 6 19:25:33 2001 from :0.0\c fred@flunky:~$\S{plink-usage-batch} Using Plink for automated connectionsMore typically Plink is used with the SSH protocol, to enable you totalk directly to a program running on the server. To do this youhave to ensure Plink is \e{using} the SSH protocol. You can do thisin several ways:\b Use the \c{-ssh} option as described in\k{plink-usage-interactive}.\b Set up a PuTTY saved session that describes the server you areconnecting to, and that also specifies the protocol as SSH.\b Set the Windows environment variable \c{PLINK_PROTOCOL} to theword \c{ssh}.Usually Plink is not invoked directly by a user, but runautomatically by another process. Therefore you typically do notwant Plink to prompt you for a user name or a password.Next, you are likely to need to avoid the various interactiveprompts Plink can produce. You might be prompted to verify the hostkey of the server you're connecting to, to enter a user name, or toenter a password.To avoid being prompted for the server host key when using Plink foran automated connection, you should first make a \e{manual}connection (using either of PuTTY or Plink) to the same server,verify the host key (see \k{gs-hostkey} for more information), andselect Yes to add the host key to the Registry. After that, Plinkcommands connecting to that server should not give a host key promptunless the host key changes.To avoid being prompted for a user name, you can:\b Use the \c{-l} option to specify a user name on the command line.For example, \c{plink login.example.com -l fred}.\b Set up a PuTTY saved session that describes the server you areconnecting to, and that also specifies the username to log in as(see \k{config-username}).To avoid being prompted for a password, you should almost certainlyset up public-key authentication. (See \k{pubkey} for a generalintroduction to public-key authentication.) Again, you can do thisin two ways:\b Set up a PuTTY saved session that describes the server you areconnecting to, and that also specifies a private key file (see\k{config-ssh-privkey}). For this to work without prompting, yourprivate key will need to have no passphrase.\b Store the private key in Pageant. See \k{pageant} for furtherinformation.Once you have done all this, you should be able to run a remotecommand on the SSH server machine and have it execute automaticallywith no prompting:\c Z:\sysosd>plink login.example.com -l fred echo hello, world\c hello, world\c\c Z:\sysosd>Or, if you have set up a saved session with all the connectiondetails:\c Z:\sysosd>plink mysession echo hello, world\c hello, world\c\c Z:\sysosd>Then you can set up other programs to run this Plink command andtalk to it as if it were a process on the server machine.\S{plink-options} Plink command line optionsPlink accepts all the general command line options supported by thePuTTY tools. See \k{using-general-opts} for a description of theseoptions.Plink also supports some of its own options. The following sectionsdescribe Plink's specific command-line options.\S2{plink-option-batch} \c{-batch}: disable all interactive promptsIf you use the \c{-batch} option, Plink will never give aninteractive prompt while establishing the connection. If theserver's host key is invalid, for example (see \k{gs-hostkey}), thenthe connection will simply be abandoned instead of asking you whatto do next.This may help Plink's behaviour when it is used in automatedscripts: using \c{-batch}, if something goes wrong at connectiontime, the batch job will fail rather than hang.\S2{plink-option-s} \c{-s}: remote command is SSH subsystemIf you specify the \c{-s} option, Plink passes the specified commandas the name of an SSH \q{subsystem} rather than an ordinary commandline.(This option is only meaningful with the SSH-2 protocol.)\H{plink-batch} Using Plink in \i{batch files} and \i{scripts}Once you have set up Plink to be able to log in to a remote serverwithout any interactive prompting (see \k{plink-usage-batch}), youcan use it for lots of scripting and batch purposes. For example, tostart a backup on a remote machine, you might use a command like:\c plink root@myserver /etc/backups/do-backup.shOr perhaps you want to fetch all system log lines relating to aparticular web area:\c plink mysession grep /~fred/ /var/log/httpd/access.log > fredlogAny non-interactive command you could usefully run on the servercommand line, you can run in a batch file using Plink in this way.\H{plink-cvs} Using Plink with \i{CVS}To use Plink with CVS, you need to set the environment variable\c{CVS_RSH} to point to Plink:\c set CVS_RSH=\path\to\plink.exeYou also need to arrange to be able to connect to a remote hostwithout any interactive prompts, as described in\k{plink-usage-batch}.You should then be able to run CVS as follows:\c cvs -d :ext:user@sessionname:/path/to/repository co moduleIf you specified a username in your saved session, you don't evenneed to specify the \q{user} part of this, and you can just say:\c cvs -d :ext:sessionname:/path/to/repository co module\H{plink-wincvs} Using Plink with \i{WinCVS}Plink can also be used with WinCVS. Firstly, arrange for Plink to beable to connect to a remote host non-interactively, as described in\k{plink-usage-batch}.Then, in WinCVS, bring up the \q{Preferences} dialogue box from the\e{Admin} menu, and switch to the \q{Ports} tab. Tick the box therelabelled \q{Check for an alternate \cw{rsh} name} and in the textentry field to the right enter the full path to \c{plink.exe}.Select \q{OK} on the \q{Preferences} dialogue box.Next, select \q{Command Line} from the WinCVS \q{Admin} menu, and type a CVS command as in \k{plink-cvs}, for example:\c cvs -d :ext:user@hostname:/path/to/repository co moduleor (if you're using a saved session):\c cvs -d :ext:user@sessionname:/path/to/repository co moduleSelect the folder you want to check out to with the \q{Change Folder}button, and click \q{OK} to check out your module. Once you've gotmodules checked out, WinCVS will happily invoke plink from the GUI forCVS operations.\# \H{plink-whatelse} Using Plink with... ?
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -