summaryrefslogtreecommitdiff
path: root/update-openssh-known-hosts.8.md
diff options
context:
space:
mode:
Diffstat (limited to 'update-openssh-known-hosts.8.md')
-rw-r--r--update-openssh-known-hosts.8.md73
1 files changed, 73 insertions, 0 deletions
diff --git a/update-openssh-known-hosts.8.md b/update-openssh-known-hosts.8.md
new file mode 100644
index 0000000..f4370d0
--- /dev/null
+++ b/update-openssh-known-hosts.8.md
@@ -0,0 +1,73 @@
+% UPDATE-OPENSSH-KNOWN-HOSTS(8)
+% Timo Weingärtner <timo@tiwe.de>
+% 2014-02-03
+
+# NAME
+
+update-openssh-knwon-hosts - download, filter and merge known_hosts for OpenSSH
+
+# SYNOPSIS
+
+*update-openssh-known-hosts* [*-f*]
+
+# DESCRIPTION
+
+update-openssh-known-hosts manages downloading, filtering and mergeing of ssh_known_hosts files from anywhere into one local file for use by ssh(1).
+
+# OPTIONS
+
+-f
+: treat every non-zero exit from download plugin as an error, see EXIT_IGNORE below.
+
+# RETURN VALUES
+
+Returns zero on success and anything else on error.
+
+# ENVIRONMENT
+
+CONFDIR
+: Configuration directory, defaults to /etc/openssh-known-hosts. Currently there is only a sources subdirectory in it.
+
+PLUGIN_PATH
+: Plugin search path, defaults to /usr/local/share/openssh-known-hosts/plugins:/usr/share/openssh-known-hosts/plugins.
+
+CACHEDIR
+: Cache directory, defaults to /var/cache/openssh-known-hosts.
+
+LOCK
+: Lockfile path, defaults to /var/lock/openssh-known-hosts.
+
+OUTFILE
+: Output file name, defaults to /var/lib/openssh-known-hosts/ssh_known_hosts
+
+# SOURCE DEFINITIONS
+
+A source definition is shell snippet dropped into CONFDIR/sources/ with a run-parts(8) compliant name.
+There are two variables not specific to a download plugin:
+
+PLUGIN
+: name of the download plugin to use, searched for in PLUGIN_PATH.
+
+EXIT_IGNORE
+: optional space-seperated list of exitcodes which should be ignored. Upon such exit code the previously downloaded version is used.
+
+# DOWNLOAD PLUGINS
+
+Download plugins are executables dropped into PLUGIN_PATH and referenced via the PLUGIN variable in the source definition.
+A plugin gets the variables set in the source definition in its environment.
+The working directory will be set to the source's cache directory.
+Everything a plugin has to do is to create a file named "new".
+"current" must not be touched but can be used as a hint to skip downloading the same file again.
+stdout and stderr will be connected to "log", which will be output on error.
+Plugins needn't create "new" if it would be identical to "current".
+
+# HOSTNAME FILTERS
+
+Place a file foo.filter next to your source definition foo.
+Each line shall contain a rule consisting of an action, a space and a pattern.
+The first rule with a matching pattern decides: If the action starts with a, o, p or y (for accept, admit, allow, ok, pass, permit, print, yes, ...) the hostname will be used, otherwise it is discarded.
+If a key has no hostnames left it is discarded as a whole.
+
+# SEE ALSO
+
+ssh(1), sshd(8), ssh_config(5), curl(1), rsync(1), psql(1), run-parts(8)