NAME

App::BCSSH - Back channel SSH messaging

SYNOPSIS

client$ bcssh ssh host
host$ bcssh vi file

# bashrc
alias ssh=bcssh ssh
bcssh ping && alias vi=bcssh vi

# help
bcssh commands
bcssh help ssh

BETA RELEASE

This is a beta release and there is no guarantee the API will not change.

DESCRIPTION

This module enables commands on run on a server to be forwarded back to the client that established the SSH connection. Specifically, it is meant to enable opening files in a local editor via commands run on the server.

This is same concept that bcvi uses, but using a different messaging protocol to fix some issues with it's design.

bcvi uses remote port forwards to enable communicating with the local machine. These may not be enabled on the server. It also overloads the TERM environment variable to pass information to the server, but this is problematic if the server doesn't have bcvi set up on it to fix TERM.

SSH already provides a mechanism for the server to communicate with the client machine in the form of ssh agent forwarding. bcssh abuses this protocol to allow passing custom messages. It sets itself up as a proxy for the messages, passing through most messages. It can identify messages intended for BCSSH though, and use this to pass arbitrary information back and forth to the server. This also allows the server to probe the agent for BCSSH support, removing the need to overload TERM.

CAVEATS

This is all probably a terrible idea.

SEE ALSO

App::BCVI - The inspiration for this concept

AUTHOR

haarg - Graham Knop (cpan:HAARG) <haarg@haarg.org>

CONTRIBUTORS

None yet.

COPYRIGHT

Copyright (c) 2013 the App::BCSSH "AUTHOR" and "CONTRIBUTORS" as listed above.

LICENSE

This library is free software and may be distributed under the same terms as perl itself.