25c22a0c |
1 | \versionid $Id: using.but,v 1.21 2004/03/25 11:33:17 jacob Exp $ |
fc5a8711 |
2 | |
3 | \C{using} Using PuTTY |
4 | |
5 | This chapter provides a general introduction to some more advanced |
6 | features of PuTTY. For extreme detail and reference purposes, |
7 | \k{config} is likely to contain more information. |
8 | |
9 | \H{using-session} During your session |
10 | |
11 | A lot of PuTTY's complexity and features are in the configuration |
12 | panel. Once you have worked your way through that and started |
13 | a session, things should be reasonably simple after that. |
14 | Nevertheless, there are a few more useful features available. |
15 | |
16 | \S{using-selection} Copying and pasting text |
17 | |
18 | Often in a PuTTY session you will find text on your terminal screen |
19 | which you want to type in again. Like most other terminal emulators, |
20 | PuTTY allows you to copy and paste the text rather than having to |
21 | type it again. Also, copy and paste uses the Windows clipboard, so |
22 | that you can paste (for example) URLs into a web browser, or paste |
23 | from a word processor or spreadsheet into your terminal session. |
24 | |
25 | PuTTY's copy and paste works entirely with the mouse. In order to |
26 | copy text to the clipboard, you just click the left mouse button in |
27 | the terminal window, and drag to select text. When you let go of the |
28 | button, the text is \e{automatically} copied to the clipboard. You |
29 | do not need to press Ctrl-C or Ctrl-Ins; in fact, if you do press |
30 | Ctrl-C, PuTTY will send a Ctrl-C character down your session to the |
31 | server where it will probably cause a process to be interrupted. |
32 | |
33 | Pasting is done using the right button (or the middle mouse button, |
34 | if you have a three-button mouse and have set it up; see |
533d533c |
35 | \k{config-mouse}). (Pressing Shift-Ins, or selecting \q{Paste} from |
36 | the Ctrl+right-click context menu, have the same effect.) |
aa431b46 |
37 | When you click the right mouse button, PuTTY will |
fc5a8711 |
38 | read whatever is in the Windows Clipboard and paste it into your |
39 | session, \e{exactly} as if it had been typed at the keyboard. |
40 | (Therefore, be careful of pasting formatted text into an editor that |
41 | does automatic indenting; you may find that the spaces pasted from |
42 | the clipboard plus the spaces added by the editor add up to too many |
43 | spaces and ruin the formatting. There is nothing PuTTY can do about |
44 | this.) |
45 | |
46 | If you double-click the left mouse button, PuTTY will select a whole |
47 | word. If you double-click, hold down the second click, and drag the |
a5a6cb30 |
48 | mouse, PuTTY will select a sequence of whole words. (You can adjust |
49 | precisely what PuTTY considers to be part of a word; see |
50 | \k{config-charclasses}.) If you \e{triple}-click, or triple-click |
51 | and drag, then PuTTY will select a whole line or sequence of lines. |
fc5a8711 |
52 | |
53 | If you want to select a rectangular region instead of selecting to |
54 | the end of each line, you can do this by holding down Alt when you |
55 | make your selection. (You can also configure rectangular selection |
56 | to be the default, and then holding down Alt gives the normal |
a5a6cb30 |
57 | behaviour instead. See \k{config-rectselect} for details.) |
fc5a8711 |
58 | |
59 | If you have a middle mouse button, then you can use it to adjust an |
60 | existing selection if you selected something slightly wrong. (If you |
61 | have configured the middle mouse button to paste, then the right |
62 | mouse button does this instead.) Click the button on the screen, and |
63 | you can pick up the nearest end of the selection and drag it to |
64 | somewhere else. |
65 | |
6cee219d |
66 | It's possible for the server to ask to handle mouse clicks in the |
67 | PuTTY window itself. If this happens, the mouse cursor will turn |
25c22a0c |
68 | into an arrow, and using the mouse to copy and paste will only work if |
69 | you hold down Shift. See \k{config-features-mouse} and |
70 | \k{config-mouseshift} for details of this feature and how to configure |
71 | it. |
6cee219d |
72 | |
fc5a8711 |
73 | \S{using-scrollback} Scrolling the screen back |
74 | |
75 | PuTTY keeps track of text that has scrolled up off the top of the |
76 | terminal. So if something appears on the screen that you want to |
77 | read, but it scrolls too fast and it's gone by the time you try to |
78 | look for it, you can use the scrollbar on the right side of the |
79 | window to look back up the session history and find it again. |
80 | |
81 | As well as using the scrollbar, you can also page the scrollback up |
6327f1c1 |
82 | and down by pressing Shift-PgUp and Shift-PgDn. You can scroll a |
83 | line at a time using Ctrl-PgUp and Ctrl-PgDn. These are still |
fc5a8711 |
84 | available if you configure the scrollbar to be invisible. |
85 | |
86 | By default the last 200 lines scrolled off the top are |
87 | preserved for you to look at. You can increase (or decrease) this |
88 | value using the configuration box; see \k{config-scrollback}. |
89 | |
90 | \S{using-sysmenu} The System menu |
91 | |
92 | If you click the left mouse button on the icon in the top left |
93 | corner of PuTTY's window, or click the right mouse button on the |
94 | title bar, you will see the standard Windows system menu containing |
95 | items like Minimise, Move, Size and Close. |
96 | |
97 | PuTTY's system menu contains extra program features in addition to |
98 | the Windows standard options. These extra menu commands are |
99 | described below. |
100 | |
533d533c |
101 | (These options are also available in a context menu brought up |
102 | by holding Ctrl and clicking with the right mouse button anywhere |
103 | in the PuTTY window.) |
104 | |
fc5a8711 |
105 | \S2{using-eventlog} The PuTTY Event Log |
106 | |
107 | If you choose \q{Event Log} from the system menu, a small window |
108 | will pop up in which PuTTY logs significant events during the |
109 | connection. Most of the events in the log will probably take place |
110 | during session startup, but a few can occur at any point in the |
111 | session, and one or two occur right at the end. |
112 | |
113 | You can use the mouse to select one or more lines of the Event Log, |
114 | and hit the Copy button to copy them to the clipboard. If you are |
115 | reporting a bug, it's often useful to paste the contents of the |
116 | Event Log into your bug report. |
117 | |
6b590f79 |
118 | \S2{using-specials} Special commands |
119 | |
120 | Depending on the protocol used for the current session, there may be a |
121 | submenu of \q{special commands}. These are protocol-specific tokens, |
122 | such as a \q{break} signal, that can be sent down a connection in |
123 | addition to normal data. Currently only Telnet and SSH have special |
124 | commands. |
125 | |
fc5a8711 |
126 | \S2{using-newsession} Starting new sessions |
127 | |
128 | PuTTY's system menu provides some shortcut ways to start new |
129 | sessions: |
130 | |
131 | \b Selecting \q{New Session} will start a completely new instance of |
132 | PuTTY, and bring up the configuration box as normal. |
133 | |
134 | \b Selecting \q{Duplicate Session} will start a session with |
135 | precisely the same options as your current one - connecting to the |
136 | same host using the same protocol, with all the same terminal |
137 | settings and everything. |
138 | |
139 | \b The \q{Saved Sessions} submenu gives you quick access to any |
140 | sets of stored session details you have previously saved. See |
141 | \k{config-saving} for details of how to create saved sessions. |
142 | |
143 | \S2{using-changesettings} Changing your session settings |
144 | |
145 | If you select \q{Change Settings} from the system menu, PuTTY will |
146 | display a cut-down version of its initial configuration box. This |
147 | allows you to adjust most properties of your current session. You |
148 | can change the terminal size, the font, the actions of various |
149 | keypresses, the colours, and so on. |
150 | |
151 | Some of the options that are available in the main configuration box |
152 | are not shown in the cut-down Change Settings box. These are usually |
153 | options which don't make sense to change in the middle of a session |
154 | (for example, you can't switch from SSH to Telnet in mid-session). |
155 | |
156 | \S2{using-copyall} Copy All to Clipboard |
157 | |
158 | This system menu option provides a convenient way to copy the whole |
f20523db |
159 | contents of the terminal screen (up to the last nonempty line) and |
160 | scrollback to the clipboard in one go. |
fc5a8711 |
161 | |
162 | \S2{reset-terminal} Clearing and resetting the terminal |
163 | |
164 | The \q{Clear Scrollback} option on the system menu tells PuTTY to |
165 | discard all the lines of text that have been kept after they |
166 | scrolled off the top of the screen. This might be useful, for |
167 | example, if you displayed sensitive information and wanted to make |
168 | sure nobody could look over your shoulder and see it. (Note that |
169 | this only prevents a casual user from using the scrollbar to view |
170 | the information; the text is not guaranteed not to still be in |
171 | PuTTY's memory.) |
172 | |
173 | The \q{Reset Terminal} option causes a full reset of the terminal |
174 | emulation. A VT-series terminal is a complex piece of software and |
175 | can easily get into a state where all the text printed becomes |
176 | unreadable. (This can happen, for example, if you accidentally |
177 | output a binary file to your terminal.) If this happens, selecting |
178 | Reset Terminal should sort it out. |
179 | |
180 | \S2{using-fullscreen} Full screen mode |
181 | |
182 | If you find the title bar on a maximised window to be ugly or |
183 | distracting, you can select Full Screen mode to maximise PuTTY |
184 | \q{even more}. When you select this, PuTTY will expand to fill the |
185 | whole screen and its borders, title bar and scrollbar will |
186 | disappear. (You can configure the scrollbar not to disappear in |
a5a6cb30 |
187 | full-screen mode if you want to keep it; see \k{config-scrollback}.) |
fc5a8711 |
188 | |
189 | When you are in full-screen mode, you can still access the system |
190 | menu if you click the left mouse button in the \e{extreme} top left |
191 | corner of the screen. |
192 | |
193 | \H{using-logging} Creating a log file of your session |
194 | |
195 | For some purposes you may find you want to log everything that |
196 | appears on your screen. You can do this using the \q{Logging} panel |
197 | in the configuration box. |
198 | |
199 | To begin a session log, select \q{Change Settings} from the system |
200 | menu and go to the Logging panel. Enter a log file name, and select |
201 | a logging mode. (You can log all session output including the |
202 | terminal control sequences, or you can just log the printable text. |
203 | It depends what you want the log for.) Click \q{Apply} and your log |
204 | will be started. Later on, you can go back to the Logging panel and |
205 | select \q{Logging turned off completely} to stop logging; then PuTTY |
206 | will close the log file and you can safely read it. |
207 | |
208 | See \k{config-logging} for more details and options. |
209 | |
210 | \H{using-translation} Altering your character set configuration |
211 | |
212 | If you find that special characters (accented characters, for |
213 | example) are not being displayed correctly in your PuTTY session, it |
214 | may be that PuTTY is interpreting the characters sent by the server |
215 | according to the wrong \e{character set}. There are a lot of |
216 | different character sets available, so it's entirely possible for |
217 | this to happen. |
218 | |
219 | If you click \q{Change Settings} and look at the \q{Translation} |
220 | panel, you should see a large number of character sets which you can |
221 | select. Now all you need is to find out which of them you want! |
222 | |
2f8d6d43 |
223 | \H{using-x-forwarding} Using X11 forwarding in SSH |
224 | |
225 | The SSH protocol has the ability to securely forward X Window System |
226 | applications over your encrypted SSH connection, so that you can run |
227 | an application on the SSH server machine and have it put its windows |
228 | up on your local machine without sending any X network traffic in |
229 | the clear. |
230 | |
231 | In order to use this feature, you will need an X display server for |
232 | your Windows machine, such as X-Win32 or Exceed. This will probably |
233 | install itself as display number 0 on your local machine; if it |
234 | doesn't, the manual for the X server should tell you what it does |
235 | do. |
236 | |
237 | You should then tick the \q{Enable X11 forwarding} box in the |
238 | Tunnels panel (see \k{config-ssh-x11}) before starting your SSH |
239 | session. The \q{X display location} box reads \c{localhost:0} by |
240 | default, which is the usual display location where your X server |
241 | will be installed. If that needs changing, then change it. |
242 | |
243 | Now you should be able to log in to the SSH server as normal. To |
244 | check that X forwarding has been successfully negotiated during |
245 | connection startup, you can check the PuTTY Event Log (see |
246 | \k{using-eventlog}). It should say something like this: |
247 | |
248 | \c 2001-12-05 17:22:01 Requesting X11 forwarding |
249 | \c 2001-12-05 17:22:02 X11 forwarding enabled |
250 | |
251 | If the remote system is Unix or Unix-like, you should also be able |
252 | to see that the \c{DISPLAY} environment variable has been set to |
253 | point at display 10 or above on the SSH server machine itself: |
254 | |
255 | \c fred@unixbox:~$ echo $DISPLAY |
256 | \c unixbox:10.0 |
257 | |
258 | If this works, you should then be able to run X applications in the |
259 | remote session and have them display their windows on your PC. |
260 | |
261 | Note that if your PC X server requires authentication to connect, |
262 | then PuTTY cannot currently support it. If this is a problem for |
2b5567cf |
263 | you, you should mail the PuTTY authors \#{FIXME} and give details |
264 | (see \k{feedback}). |
2f8d6d43 |
265 | |
266 | \H{using-port-forwarding} Using port forwarding in SSH |
267 | |
268 | The SSH protocol has the ability to forward arbitrary network |
269 | connections over your encrypted SSH connection, to avoid the network |
270 | traffic being sent in clear. For example, you could use this to |
271 | connect from your home computer to a POP-3 server on a remote |
272 | machine without your POP-3 password being visible to network |
273 | sniffers. |
274 | |
275 | In order to use port forwarding to connect from your local machine |
276 | to a port on a remote server, you need to: |
277 | |
278 | \b Choose a port number on your local machine where PuTTY should |
279 | listen for incoming connections. There are likely to be plenty of |
6ee9b735 |
280 | unused port numbers above 3000. (You can also use a local loopback |
dbe6c525 |
281 | address here; see below for more details.) |
2f8d6d43 |
282 | |
283 | \b Now, before you start your SSH connection, go to the Tunnels |
284 | panel (see \k{config-ssh-portfwd}). Make sure the \q{Local} radio |
285 | button is set. Enter the local port number into the \q{Source port} |
286 | box. Enter the destination host name and port number into the |
287 | \q{Destination} box, separated by a colon (for example, |
288 | \c{popserver.example.com:110} to connect to a POP-3 server). |
289 | |
290 | \b Now click the \q{Add} button. The details of your port forwarding |
291 | should appear in the list box. |
292 | |
c80f77d8 |
293 | Now start your session and log in. (Port forwarding will not be |
294 | enabled until after you have logged in; otherwise it would be easy |
295 | to perform completely anonymous network attacks, and gain access to |
296 | anyone's virtual private network). To check that PuTTY has set up |
297 | the port forwarding correctly, you can look at the PuTTY Event Log |
298 | (see \k{using-eventlog}). It should say something like this: |
2f8d6d43 |
299 | |
300 | \c 2001-12-05 17:22:10 Local port 3110 forwarding to |
301 | \c popserver.example.com:110 |
302 | |
303 | Now if you connect to the source port number on your local PC, you |
304 | should find that it answers you exactly as if it were the service |
305 | running on the destination machine. So in this example, you could |
306 | then configure an e-mail client to use \c{localhost:3110} as a POP-3 |
307 | server instead of \c{popserver.example.com:110}. (Of course, the |
308 | forwarding will stop happening when your PuTTY session closes down.) |
309 | |
310 | You can also forward ports in the other direction: arrange for a |
311 | particular port number on the \e{server} machine to be forwarded |
312 | back to your PC as a connection to a service on your PC or near it. |
313 | To do this, just select the \q{Remote} radio button instead of the |
314 | \q{Local} one. The \q{Source port} box will now specify a port |
315 | number on the \e{server} (note that most servers will not allow you |
316 | to use port numbers under 1024 for this purpose). |
fc5a8711 |
317 | |
48b7c4b2 |
318 | An alternative way to forward local connections to remote hosts is |
319 | to use dynamic SOCKS proxying. For this, you will need to select the |
320 | \q{Dynamic} radio button instead of \q{Local}, and then you should |
321 | not enter anything into the \q{Destination} box (it will be |
322 | ignored). This will cause PuTTY to listen on the port you have |
323 | specified, and provide a SOCKS proxy service to any programs which |
324 | connect to that port. So, in particular, you can forward other PuTTY |
325 | connections through it by setting up the Proxy control panel (see |
326 | \k{config-proxy} for details). |
327 | |
beefa433 |
328 | The source port for a forwarded connection usually does not accept |
329 | connections from any machine except the SSH client or server machine |
330 | itself (for local and remote forwardings respectively). There are |
331 | controls in the Tunnels panel to change this: |
332 | |
333 | \b The \q{Local ports accept connections from other hosts} option |
48b7c4b2 |
334 | allows you to set up local-to-remote port forwardings (including |
335 | dynamic port forwardings) in such a way that machines other than |
336 | your client PC can connect to the forwarded port. |
beefa433 |
337 | |
338 | \b The \q{Remote ports do the same} option does the same thing for |
339 | remote-to-local port forwardings (so that machines other than the |
340 | SSH server machine can connect to the forwarded port.) Note that |
341 | this feature is only available in the SSH 2 protocol, and not all |
342 | SSH 2 servers support it (OpenSSH 3.0 does not, for example). |
343 | |
dbe6c525 |
344 | You can also specify an IP address to listen on. Typically a |
345 | Windows machine can be asked to listen on any single IP address in |
346 | the \cw{127.*.*.*} range, and all of these are loopback addresses |
347 | available only to the local machine. So if you forward (for |
348 | example) \c{127.0.0.5:79} to a remote machine's \cw{finger} port, |
349 | then you should be able to run commands such as \c{finger |
350 | fred@127.0.0.5}. This can be useful if the program connecting to |
351 | the forwarded port doesn't allow you to change the port number it |
352 | uses. This feature is available for local-to-remote forwarded |
353 | ports; SSH1 is unable to support it for remote-to-local ports, |
354 | while SSH2 can support it in theory but servers will not |
355 | necessarily cooperate. |
356 | |
fc5a8711 |
357 | \H{using-rawprot} Making raw TCP connections |
358 | |
2f8d6d43 |
359 | A lot of Internet protocols are composed of commands and responses |
360 | in plain text. For example, SMTP (the protocol used to transfer |
361 | e-mail), NNTP (the protocol used to transfer Usenet news), and HTTP |
362 | (the protocol used to serve Web pages) all consist of commands in |
363 | readable plain text. |
364 | |
365 | Sometimes it can be useful to connect directly to one of these |
366 | services and speak the protocol \q{by hand}, by typing protocol |
367 | commands and watching the responses. On Unix machines, you can do |
368 | this using the system's \c{telnet} command to connect to the right |
369 | port number. For example, \c{telnet mailserver.example.com 25} might |
370 | enable you to talk directly to the SMTP service running on a mail |
371 | server. |
372 | |
373 | Although the Unix \c{telnet} program provides this functionality, |
374 | the protocol being used is not really Telnet. Really there is no |
375 | actual protocol at all; the bytes sent down the connection are |
376 | exactly the ones you type, and the bytes shown on the screen are |
377 | exactly the ones sent by the server. Unix \c{telnet} will attempt to |
378 | detect or guess whether the service it is talking to is a real |
379 | Telnet service or not; PuTTY prefers to be told for certain. |
380 | |
381 | In order to make a debugging connection to a service of this type, |
382 | you simply select the fourth protocol name, \q{Raw}, from the |
383 | \q{Protocol} buttons in the \q{Session} configuration panel. (See |
384 | \k{config-hostname}.) You can then enter a host name and a port |
385 | number, and make the connection. |
a10c20dd |
386 | |
e117a742 |
387 | \H{using-cmdline} The PuTTY command line |
a10c20dd |
388 | |
389 | PuTTY can be made to do various things without user intervention by |
390 | supplying command-line arguments (e.g., from a command prompt window, |
391 | or a Windows shortcut). |
392 | |
e117a742 |
393 | \S{using-cmdline-session} Starting a session from the command line |
a10c20dd |
394 | |
395 | These options allow you to bypass the configuration window and launch |
396 | straight into a session. |
397 | |
e117a742 |
398 | To start a connection to a server called \c{host}: |
a10c20dd |
399 | |
e2a197cf |
400 | \c putty.exe [-ssh | -telnet | -rlogin | -raw] [user@]host |
a10c20dd |
401 | |
402 | If this syntax is used, settings are taken from the Default Settings |
e2a197cf |
403 | (see \k{config-saving}); \c{user} overrides these settings if |
404 | supplied. Also, you can specify a protocol, which will override the |
405 | default protocol (see \k{using-cmdline-protocol}). |
a10c20dd |
406 | |
407 | For telnet sessions, the following alternative syntax is supported |
408 | (this makes PuTTY suitable for use as a URL handler for telnet URLs in |
409 | web browsers): |
410 | |
411 | \c putty.exe telnet://host[:port]/ |
412 | |
413 | In order to start an existing saved session called \c{sessionname}, |
e117a742 |
414 | use the \c{-load} option (described in \k{using-cmdline-load}). |
a10c20dd |
415 | |
e117a742 |
416 | \c putty.exe -load "session name" |
a10c20dd |
417 | |
e117a742 |
418 | \S{using-cleanup} \c{-cleanup} |
a10c20dd |
419 | |
420 | If invoked with the \c{-cleanup} option, rather than running as |
421 | normal, PuTTY will remove its registry entries and random seed file |
422 | from the local machine (after confirming with the user). |
e117a742 |
423 | |
424 | \S{using-general-opts} Standard command-line options |
425 | |
426 | PuTTY and its associated tools support a range of command-line |
427 | options, most of which are consistent across all the tools. This |
428 | section lists the available options in all tools. Options which are |
429 | specific to a particular tool are covered in the chapter about that |
430 | tool. |
431 | |
432 | \S2{using-cmdline-load} \c{-load}: load a saved session |
433 | |
434 | The \c{-load} option causes PuTTY to load configuration details out |
435 | of a saved session. If these details include a host name, then this |
436 | option is all you need to make PuTTY start a session (although Plink |
437 | still requires an explicitly specified host name). |
438 | |
439 | You need double quotes around the session name if it contains spaces. |
440 | |
441 | If you want to create a Windows shortcut to start a PuTTY saved |
442 | session, this is the option you should use: your shortcut should |
443 | call something like |
444 | |
445 | \c d:\path\to\putty.exe -load "my session" |
446 | |
447 | (Note that PuTTY itself supports an alternative form of this option, |
448 | for backwards compatibility. If you execute \c{putty @sessionname} |
449 | it will have the same effect as \c{putty -load "sessionname"}. With |
450 | the \c{@} form, no double quotes are required, and the \c{@} sign |
451 | must be the very first thing on the command line. This form of the |
452 | option is deprecated.) |
453 | |
454 | \S2{using-cmdline-protocol} Selecting a protocol: \c{-ssh}, |
455 | \c{-telnet}, \c{-rlogin}, \c{-raw} |
456 | |
457 | To choose which protocol you want to connect with, you can use one |
458 | of these options: |
459 | |
460 | \b \c{-ssh} selects the SSH protocol. |
461 | |
462 | \b \c{-telnet} selects the Telnet protocol. |
463 | |
464 | \b \c{-rlogin} selects the Rlogin protocol. |
465 | |
466 | \b \c{-raw} selects the raw protocol. |
467 | |
468 | These options are not available in the file transfer tools PSCP and |
469 | PSFTP (which only work with the SSH protocol). |
470 | |
471 | These options are equivalent to the protocol selection buttons in |
472 | the Session panel of the PuTTY configuration box (see |
473 | \k{config-hostname}). |
474 | |
475 | \S2{using-cmdline-v} \c{-v}: increase verbosity |
476 | |
477 | Most of the PuTTY tools can be made to tell you more about what they |
478 | are doing by supplying the \c{-v} option. If you are having trouble |
479 | when making a connection, or you're simply curious, you can turn |
480 | this switch on and hope to find out more about what is happening. |
481 | |
482 | \S2{using-cmdline-l} \c{-l}: specify a login name |
483 | |
484 | You can specify the user name to log in as on the remote server |
485 | using the \c{-l} option. For example, \c{plink login.example.com -l |
486 | fred}. |
487 | |
488 | These options are equivalent to the username selection box in the |
489 | Connection panel of the PuTTY configuration box (see |
490 | \k{config-username}). |
491 | |
48b7c4b2 |
492 | \S2{using-cmdline-portfwd} \c{-L}, \c{-R} and \c{-D}: set up port forwardings |
e117a742 |
493 | |
494 | As well as setting up port forwardings in the PuTTY configuration |
495 | (see \k{config-ssh-portfwd}), you can also set up forwardings on the |
496 | command line. The command-line options work just like the ones in |
497 | Unix \c{ssh} programs. |
498 | |
499 | To forward a local port (say 5110) to a remote destination (say |
500 | \cw{popserver.example.com} port 110), you can write something like |
501 | one of these: |
502 | |
503 | \c putty -L 5110:popserver.example.com:110 -load mysession |
504 | \c plink mysession -L 5110:popserver.example.com:110 |
505 | |
48b7c4b2 |
506 | To forward a remote port to a local destination, just use the \c{-R} |
507 | option instead of \c{-L}: |
e117a742 |
508 | |
509 | \c putty -R 5023:mytelnetserver.myhouse.org:23 -load mysession |
510 | \c plink mysession -R 5023:mytelnetserver.myhouse.org:23 |
511 | |
dbe6c525 |
512 | To specify an IP address for the listening end of the tunnel, |
513 | prepend it to the argument: |
514 | |
515 | \c plink -L 127.0.0.5:23:localhost:23 myhost |
516 | |
48b7c4b2 |
517 | To set up SOCKS-based dynamic port forwarding on a local port, use |
518 | the \c{-D} option. For this one you only have to pass the port |
519 | number: |
520 | |
521 | \c putty -D 4096 -load mysession |
522 | |
e117a742 |
523 | For general information on port forwarding, see |
524 | \k{using-port-forwarding}. |
525 | |
526 | These options are not available in the file transfer tools PSCP and |
527 | PSFTP. |
528 | |
529 | \S2{using-cmdline-m} \c{-m}: read a remote command or script from a |
530 | file |
531 | |
532 | The \c{-m} option performs a similar function to the \q{Remote |
533 | command} box in the SSH panel of the PuTTY configuration box (see |
534 | \k{config-command}). However, the \c{-m} option expects to be given |
fd66175e |
535 | a local file name, and it will read a command from that file. On most Unix |
e117a742 |
536 | systems, you can even put multiple lines in this file and execute |
537 | more than one command in sequence, or a whole shell script. |
538 | |
539 | This option is not available in the file transfer tools PSCP and |
540 | PSFTP. |
541 | |
e2a197cf |
542 | \S2{using-cmdline-p} \c{-P}: specify a port number |
e117a742 |
543 | |
e2a197cf |
544 | The \c{-P} option is used to specify the port number to connect to. If |
545 | you have a Telnet server running on port 9696 of a machine instead of |
546 | port 23, for example: |
e117a742 |
547 | |
e2a197cf |
548 | \c putty -telnet -P 9696 host.name |
549 | \c plink -telnet -P 9696 host.name |
e117a742 |
550 | |
551 | (Note that this option is more useful in Plink than in PuTTY, |
552 | because in PuTTY you can write \c{putty -telnet host.name 9696} in |
553 | any case.) |
554 | |
555 | These options are equivalent to the protocol selection buttons in |
556 | the Session panel of the PuTTY configuration box (see |
557 | \k{config-hostname}). |
558 | |
559 | \S2{using-cmdline-pw} \c{-pw}: specify a password |
560 | |
561 | A simple way to automate a remote login is to supply your password |
562 | on the command line. This is \e{not recommended} for reasons of |
563 | security. If you possibly can, we recommend you set up public-key |
564 | authentication instead. See \k{pubkey} for details. |
565 | |
566 | Note that the \c{-pw} option only works when you are using the SSH |
567 | protocol. Due to fundamental limitations of Telnet and Rlogin, these |
568 | protocols do not support automated password authentication. |
569 | |
570 | \S2{using-cmdline-agent} \c{-A} and \c{-a}: control agent forwarding |
571 | |
572 | The \c{-A} option turns on SSH agent forwarding, and \c{-a} turns it |
573 | off. These options are only meaningful if you are using SSH. |
574 | |
575 | See \k{pageant} for general information on Pageant, and |
576 | \k{pageant-forward} for information on agent forwarding. Note that |
577 | there is a security risk involved with enabling this option; see |
578 | \k{pageant-security} for details. |
579 | |
580 | These options are equivalent to the agent forwarding checkbox in the |
581 | Auth panel of the PuTTY configuration box (see \k{config-ssh-agentfwd}). |
582 | |
583 | These options are not available in the file transfer tools PSCP and |
584 | PSFTP. |
585 | |
586 | \S2{using-cmdline-x11} \c{-X} and \c{-x}: control X11 forwarding |
587 | |
588 | The \c{-X} option turns on X11 forwarding in SSH, and \c{-x} turns |
589 | it off. These options are only meaningful if you are using SSH. |
590 | |
591 | For information on X11 forwarding, see \k{using-x-forwarding}. |
592 | |
593 | These options are equivalent to the X11 forwarding checkbox in the |
594 | Tunnels panel of the PuTTY configuration box (see |
595 | \k{config-ssh-x11}). |
596 | |
597 | These options are not available in the file transfer tools PSCP and |
598 | PSFTP. |
599 | |
600 | \S2{using-cmdline-pty} \c{-t} and \c{-T}: control pseudo-terminal |
601 | allocation |
602 | |
603 | The \c{-t} option ensures PuTTY attempts to allocate a |
604 | pseudo-terminal at the server, and \c{-T} stops it from allocating |
605 | one. These options are only meaningful if you are using SSH. |
606 | |
607 | These options are equivalent to the \q{Don't allocate a |
608 | pseudo-terminal} checkbox in the SSH panel of the PuTTY |
609 | configuration box (see \k{config-ssh-pty}). |
610 | |
611 | These options are not available in the file transfer tools PSCP and |
612 | PSFTP. |
613 | |
614 | \S2{using-cmdline-compress} \c{-C}: enable compression |
615 | |
616 | The \c{-C} option enables compression of the data sent across the |
617 | network. This option is only meaningful if you are using SSH. |
618 | |
619 | This option is equivalent to the \q{Enable compression} checkbox in |
620 | the SSH panel of the PuTTY configuration box (see |
621 | \k{config-ssh-comp}). |
622 | |
623 | \S2{using-cmdline-sshprot} \c{-1} and \c{-2}: specify an SSH protocol |
624 | version |
625 | |
626 | The \c{-1} and \c{-2} options force PuTTY to use version 1 or |
627 | version 2 of the SSH protocol. These options are only meaningful if |
628 | you are using SSH. |
629 | |
630 | These options are equivalent to selecting your preferred SSH |
631 | protocol version as \q{1 only} or \q{2 only} in the SSH panel of the |
632 | PuTTY configuration box (see \k{config-ssh-prot}). |
633 | |
634 | \S2{using-cmdline-identity} \c{-i}: specify an SSH private key |
635 | |
636 | The \c{-i} option allows you to specify the name of a private key |
8cee3b72 |
637 | file in \c{*.PPK} format which PuTTY will use to authenticate with the |
638 | server. This option is only meaningful if you are using SSH. |
e117a742 |
639 | |
640 | For general information on public-key authentication, see \k{pubkey}. |
641 | |
642 | This option is equivalent to the \q{Private key file for |
643 | authentication} box in the Auth panel of the PuTTY configuration box |
644 | (see \k{config-ssh-privkey}). |