ssh "!command" escape sequence - does it work?

Chris Green cl at isbd.net
Thu Sep 10 15:43:52 UTC 2020


On Thu, Sep 10, 2020 at 04:28:56PM +0100, Colin Watson wrote:
> On Thu, Sep 10, 2020 at 03:19:19PM +0100, Chris Green wrote:
> > In the man page for ssh_config it says:-
> > 
> >      PermitLocalCommand
> > Allow local command execution via the LocalCommand option or using the 
> !command escape sequence in 
> >        ssh(1).  The argument must be yes or no (the default).
> > 
> > Can anyone point me at something that tells me about "... the !command
> > escape sequence in ssh(1)" please.
> 
> Here's the relevant bit of documentation from that manual page.  Does
> this help?
> 
> ESCAPE CHARACTERS
>      When a pseudo-terminal has been requested, ssh supports a number of
>      functions through the use of an escape character.
> 
>      A single tilde character can be sent as ~~ or by following the tilde by a
>      character other than those described below.  The escape character must
>      always follow a newline to be interpreted as special.  The escape
>      character can be changed in configuration files using the EscapeChar
>      configuration directive or on the command line by the -e option.
> 
>      The supported escapes (assuming the default ‘~’) are:
> 
> [...]
> 
>      ~C      Open command line.  Currently this allows the addition of port
>              forwardings using the -L, -R and -D options (see above).  It also
>              allows the cancellation of existing port-forwardings with
>              -KL[bind_address:]port for local, -KR[bind_address:]port for
>              remote and -KD[bind_address:]port for dynamic port-forwardings.
>              !command allows the user to execute a local command if the
>              PermitLocalCommand option is enabled in ssh_config(5).  Basic
>              help is available, using the -h option.
> 
Yes, I found that, but I can't make "!command" do *anythin*, let alone
anything helpful. The only things that seem to work after ~C are '-h'
and the forwarding commands, ordinary shell commands just do nothing.

-- 
Chris Green




More information about the ubuntu-users mailing list