From 4d1cdf5dbf82011900f74ecdbe3d3d4456cee1f7 Mon Sep 17 00:00:00 2001 From: jacob Date: Fri, 29 Aug 2003 19:06:22 +0000 Subject: [PATCH] New option for plink: "-s" specifies that the remote command is an SSH-2 subsystem. (pinched from OpenSSH) git-svn-id: svn://svn.tartarus.org/sgt/putty@3426 cda61777-01e9-0310-a592-d414129be87e --- doc/plink.but | 22 ++++++++++++++++++---- plink.c | 11 +++++++++++ 2 files changed, 29 insertions(+), 4 deletions(-) diff --git a/doc/plink.but b/doc/plink.but index fbc96623..1b2be43f 100644 --- a/doc/plink.but +++ b/doc/plink.but @@ -1,4 +1,4 @@ -\versionid $Id: plink.but,v 1.18 2003/03/24 10:49:01 simon Exp $ +\versionid $Id: plink.but,v 1.19 2003/08/29 19:06:22 jacob Exp $ \C{plink} Using the command-line connection tool Plink @@ -43,7 +43,7 @@ use Plink: \c Z:\sysosd>plink \c PuTTY Link: command-line connection utility -\c Release 0.53 +\c Unidentified build, Aug 29 2003 19:49:05 \c Usage: plink [options] [user@]host [command] \c ("host" can also be a PuTTY saved session name) \c Options: @@ -57,6 +57,7 @@ use Plink: \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-port Dynamic SOCKS-based port forwarding \c -L listen-port:host:port Forward local port to remote address \c -R listen-port:host:port Forward remote port to local address \c -X -x enable / disable X11 forwarding @@ -65,6 +66,7 @@ use Plink: \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) Once this works, you are ready to use Plink. @@ -185,8 +187,12 @@ Plink accepts all the general command line options supported by the PuTTY tools. See \k{using-general-opts} for a description of these options. -In addition to this, Plink accepts one other option: the \c{-batch} -option. If you use the \c{-batch} option, Plink will never give an +Plink also supports some of its own options. The following sections +describe Plink's specific command-line options. + +\S2{plink-option-batch} \c{-batch}: disable all interactive prompts + +If you use the \c{-batch} option, Plink will never give an interactive prompt while establishing the connection. If the server's host key is invalid, for example (see \k{gs-hostkey}), then the connection will simply be abandoned instead of asking you what @@ -196,6 +202,14 @@ This may help Plink's behaviour when it is used in automated scripts: using \c{-batch}, if something goes wrong at connection time, the batch job will fail rather than hang. +\S2{plink-option-s} \c{-s}: remote command is SSH subsystem + +If you specify the \c{-s} option, Plink passes the specified command +as the name of an SSH \q{subsystem} rather than an ordinary command +line. + +(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 server diff --git a/plink.c b/plink.c index bf17f530..41a5001e 100644 --- a/plink.c +++ b/plink.c @@ -240,6 +240,7 @@ static void usage(void) printf(" -1 -2 force use of particular protocol version\n"); printf(" -C enable compression\n"); printf(" -i key private key file for authentication\n"); + printf(" -s remote command is an SSH subsystem (SSH-2 only)\n"); exit(1); } @@ -279,6 +280,7 @@ int main(int argc, char **argv) int connopen; int exitcode; int errors; + int use_subsystem = 0; ssh_get_line = console_get_line; @@ -331,6 +333,9 @@ int main(int argc, char **argv) continue; } else if (!strcmp(p, "-batch")) { console_batch_mode = 1; + } else if (!strcmp(p, "-s")) { + /* Save status to write to cfg later. */ + use_subsystem = 1; } else { fprintf(stderr, "plink: unknown option \"%s\"\n", p); errors = 1; @@ -489,6 +494,12 @@ int main(int argc, char **argv) cmdline_run_saved(&cfg); /* + * Apply subsystem status. + */ + if (use_subsystem) + cfg.ssh_subsys = TRUE; + + /* * Trim a colon suffix off the hostname if it's there. */ cfg.host[strcspn(cfg.host, ":")] = '\0'; -- 2.11.0