X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=man%2Fman1%2Fmonkeysphere-ssh-proxycommand.1;h=41b2e40db5c38f0da2f56d52bd34b96f5d4ea60e;hb=86f97d40d6fb60f7dde3c7e3a8aab0124f151d35;hp=63b5a5eb5962581e569a07cdbd359b067ed5d12d;hpb=7c315f56f1a5b9ed7742f48a9a0b836a47f44458;p=monkeysphere.git diff --git a/man/man1/monkeysphere-ssh-proxycommand.1 b/man/man1/monkeysphere-ssh-proxycommand.1 index 63b5a5e..41b2e40 100644 --- a/man/man1/monkeysphere-ssh-proxycommand.1 +++ b/man/man1/monkeysphere-ssh-proxycommand.1 @@ -1,14 +1,22 @@ .TH MONKEYSPHERE-SSH-PROXYCOMMAND "1" "June 2008" "monkeysphere 0.1" "User Commands" + .SH NAME + monkeysphere-ssh-proxycommand \- MonkeySphere ssh ProxyCommand script -.PD + .SH DESCRIPTION -.PP + \fBmonkeysphere-ssh-proxy\fP is an ssh proxy command that can be used -to trigger a monkeysphere update of the known_hosts file for the hosts -that are being connected to. It is meant to be run as an ssh -ProxyCommand. This can either be done by specifying the proxy command -on the command line: +to trigger a monkeysphere update of the ssh known_hosts file for a +host that is being connected to with ssh. This works by updating the +known_hosts file for the host first, before an attempted connection to +the host is made. Once the known_hosts file has been updated, a TCP +connection to the host is made by exec'ing netcat(1). Regular ssh +communication is then done over this netcat TCP connection (see +ProxyCommand in ssh_config(5) for more info). + +This command is meant to be run as the ssh "ProxyCommand". This can +either be done by specifying the proxy command on the command line: .B ssh -o ProxyCommand="monkeysphere-ssh-proxycommand %h %p" ... @@ -16,23 +24,49 @@ or by adding the following line to your ~/.ssh/config script: .B ProxyCommand monkeysphere-ssh-proxycommand %h %p -The script is very simple, and can easily be incorporated into other -ProxyCommand scripts. All it does is first runs +The script can easily be incorporated into other ProxyCommand scripts +by calling it with the "--no-connect" option, i.e.: + +.B monkeysphere-ssh-proxycommand --no-connect "$HOST" "$PORT" -.B monkeysphere update-known-hosts HOST +This will run everything except the final exec of netcat to make the +TCP connection to the host. In this way this command can be added to +another proxy command that does other stuff, and then makes the +connection to the host itself. -and then +.SH KEYSERVER CHECKING -.B exec nc HOST PORT +The proxy command has a fairly nuanced policy for when keyservers are +queried when processing a host. If the host userID is not found in +either the user's keyring or in the known_hosts file, then the +keyserver is queried for the host userID. If the host userID is found +in the user's keyring, then the keyserver is not checked. This +assumes that the keyring is kept up-to-date, in a cronjob or the like, +so that revocations are properly handled. If the host userID is not +found in the user's keyring, but the host is listed in the known_hosts +file, then the keyserver is not checked. This last policy might +change in the future, possibly by adding a deferred check, so that +hosts that go from non-monkeysphere-enabled to monkeysphere-enabled +will be properly checked. -Run the following command for more info: +.SH ENVIRONMENT VARIABLES + +All environment variables defined in monkeysphere(1) can also be used +for the proxy command, with one note: + +.TP +MONKEYSPHERE_CHECK_KEYSERVER +Setting this variable (to `true' or `false') will override the policy +defined in KEYSERVER CHECKING above. -.B less $(which monkeysphere-ssh-proxycommand) -.PD .SH AUTHOR + Written by Jameson Rollins -.PD + .SH SEE ALSO -.BR monkeypshere (1), + +.BR monkeysphere (1), .BR ssh (1), +.BR ssh_config (5), +.BR netcat (1), .BR gpg (1)