diff options
Diffstat (limited to 'src')
-rwxr-xr-x | src/monkeysphere | 7 | ||||
-rwxr-xr-x | src/monkeysphere-authentication | 18 | ||||
-rwxr-xr-x | src/monkeysphere-host | 52 | ||||
-rw-r--r-- | src/share/common (renamed from src/common) | 6 | ||||
-rw-r--r-- | src/share/m/gen_subkey (renamed from src/subcommands/m/gen_subkey) | 0 | ||||
-rw-r--r-- | src/share/m/import_subkey (renamed from src/subcommands/m/import_subkey) | 0 | ||||
-rw-r--r-- | src/share/m/ssh_proxycommand (renamed from src/subcommands/m/ssh_proxycommand) | 25 | ||||
-rw-r--r-- | src/share/m/subkey_to_ssh_agent (renamed from src/subcommands/m/subkey_to_ssh_agent) | 3 | ||||
-rw-r--r-- | src/share/ma/add_certifier (renamed from src/subcommands/ma/add_certifier) | 0 | ||||
-rw-r--r-- | src/share/ma/diagnostics (renamed from src/subcommands/ma/diagnostics) | 0 | ||||
-rw-r--r-- | src/share/ma/list_certifiers (renamed from src/subcommands/ma/list_certifiers) | 0 | ||||
-rw-r--r-- | src/share/ma/remove_certifier (renamed from src/subcommands/ma/remove_certifier) | 0 | ||||
-rw-r--r-- | src/share/ma/update_users (renamed from src/subcommands/ma/update_users) | 0 | ||||
-rw-r--r-- | src/share/mh/add_hostname (renamed from src/subcommands/mh/add_hostname) | 0 | ||||
-rw-r--r-- | src/share/mh/add_revoker (renamed from src/subcommands/mh/add_revoker) | 0 | ||||
-rw-r--r-- | src/share/mh/diagnostics (renamed from src/subcommands/mh/diagnostics) | 0 | ||||
-rw-r--r-- | src/share/mh/extend_key (renamed from src/subcommands/mh/extend_key) | 0 | ||||
-rw-r--r-- | src/share/mh/gen_key (renamed from src/subcommands/mh/gen_key) | 6 | ||||
-rw-r--r-- | src/share/mh/import_key (renamed from src/subcommands/mh/import_key) | 3 | ||||
-rw-r--r-- | src/share/mh/publish_key (renamed from src/subcommands/mh/publish_key) | 0 | ||||
-rw-r--r-- | src/share/mh/revoke_hostname (renamed from src/subcommands/mh/revoke_hostname) | 0 | ||||
-rw-r--r-- | src/share/mh/revoke_key (renamed from src/subcommands/mh/revoke_key) | 0 |
22 files changed, 53 insertions, 67 deletions
diff --git a/src/monkeysphere b/src/monkeysphere index bce0072..8b7bfee 100755 --- a/src/monkeysphere +++ b/src/monkeysphere @@ -167,12 +167,12 @@ case $COMMAND in ;; 'import-subkey'|'i') - source "${MSHAREDIR}/import-key" - import_key "$@" + source "${MSHAREDIR}/import_subkey" + import_subkey "$@" ;; 'gen-subkey'|'g') - source "${MSHAREDIR}/import_key" + source "${MSHAREDIR}/gen_subkey" gen_subkey "$@" ;; @@ -182,6 +182,7 @@ case $COMMAND in ;; 'subkey-to-ssh-agent'|'s') + source "${MSHAREDIR}/subkey_to_ssh_agent" subkey_to_ssh_agent "$@" ;; diff --git a/src/monkeysphere-authentication b/src/monkeysphere-authentication index 56a8877..a8f17f9 100755 --- a/src/monkeysphere-authentication +++ b/src/monkeysphere-authentication @@ -12,8 +12,6 @@ # version 3 or later. ######################################################################## -set -e - PGRM=$(basename $0) SYSSHAREDIR=${MONKEYSPHERE_SYSSHAREDIR:-"/usr/share/monkeysphere"} @@ -57,9 +55,8 @@ subcommands: remove-id-certifier (c-) KEYID remove a certification key list-id-certifiers (c) list certification keys - expert - diagnostics (d) monkeysphere authentication status - gpg-cmd CMD execute gpg command + expert <expert-subcommand> run expert command + expert help expert command help version (v) show version number help (h,?) this help @@ -182,6 +179,17 @@ case $COMMAND in SUBCOMMAND="$1" shift case "$SUBCOMMAND" in + 'help'|'h'|'?') + cat <<EOF +usage: $PGRM expert <subcommand> [options] [args] + +expert subcommands: + diagnostics (d) monkeysphere authentication status + gpg-cmd CMD execute gpg command + +EOF + ;; + 'diagnostics'|'d') source "${MASHAREDIR}/diagnostics" diagnostics diff --git a/src/monkeysphere-host b/src/monkeysphere-host index 32e2293..0b37ba9 100755 --- a/src/monkeysphere-host +++ b/src/monkeysphere-host @@ -3,12 +3,13 @@ # monkeysphere-host: Monkeysphere host admin tool # # The monkeysphere scripts are written by: -# Jameson Rollins <jrollins@fifthhorseman.net> +# Jameson Rollins <jrollins@finestructure.net> # Jamie McClelland <jm@mayfirst.org> # Daniel Kahn Gillmor <dkg@fifthhorseman.net> +# Micah Anderson <micah@riseup.net> # -# They are Copyright 2008, and are all released under the GPL, version 3 -# or later. +# They are Copyright 2008-2009, and are all released under the GPL, +# version 3 or later. ######################################################################## PGRM=$(basename $0) @@ -50,14 +51,8 @@ subcommands: revoke-key (r) revoke host key publish-key (p) publish server host key to keyserver - expert - import-key (i) [NAME[:PORT]] import existing ssh key to gpg - --keyfile (-f) FILE key file to import - --expire (-e) EXPIRE date to expire - gen-key (g) [NAME[:PORT]] generate gpg key for the host - --length (-l) BITS key length in bits (2048) - --expire (-e) EXPIRE date to expire - diagnostics (d) monkeysphere host status + expert <expert-subcommand> run expert command + expert help expert command help version (v) show version number help (h,?) this help @@ -112,18 +107,12 @@ check_host_keyring() { show_key() { local fingerprintPGP local fingerprintSSH - local ret=0 # FIXME: you shouldn't have to be root to see the host key fingerprint - if is_root ; then - check_host_keyring - fingerprintPGP=$(fingerprint_server_key) - gpg_authentication "--fingerprint --list-key --list-options show-unusable-uids $fingerprintPGP" 2>/dev/null - echo "OpenPGP fingerprint: $fingerprintPGP" - else - log info "You must be root to see host OpenPGP fingerprint." - ret='1' - fi + check_host_keyring + fingerprintPGP=$(fingerprint_server_key) + gpg_host "--fingerprint --list-key --list-options show-unusable-uids $fingerprintPGP" 2>/dev/null + echo "OpenPGP fingerprint: $fingerprintPGP" if [ -f "${SYSDATADIR}/ssh_host_rsa_key.pub" ] ; then fingerprintSSH=$(ssh-keygen -l -f "${SYSDATADIR}/ssh_host_rsa_key.pub" | \ @@ -131,10 +120,7 @@ show_key() { echo "ssh fingerprint: $fingerprintSSH" else log info "SSH host key not found." - ret='1' fi - -return $ret } ######################################################################## @@ -146,7 +132,7 @@ unset KEYSERVER unset MONKEYSPHERE_USER # load configuration file -[ -e ${MONKEYSPHERE_HOST_CONFIG:="${SYSCONFIGDIR}/monkeysphere-host.conf"} ] && . "$MONKEYSPHERE_SERVER_CONFIG" +[ -e ${MONKEYSPHERE_HOST_CONFIG:="${SYSCONFIGDIR}/monkeysphere-host.conf"} ] && . "$MONKEYSPHERE_HOST_CONFIG" # set empty config variable with ones from the environment, or with # defaults @@ -220,6 +206,22 @@ case $COMMAND in SUBCOMMAND="$1" shift case "$SUBCOMMAND" in + 'help'|'h'|'?') + cat <<EOF +usage: $PGRM expert <subcommand> [options] [args] + +expert subcommands: + import-key (i) [NAME[:PORT]] import existing ssh key to gpg + --keyfile (-f) FILE key file to import + --expire (-e) EXPIRE date to expire + gen-key (g) [NAME[:PORT]] generate gpg key for the host + --length (-l) BITS key length in bits (2048) + --expire (-e) EXPIRE date to expire + diagnostics (d) monkeysphere host status + +EOF + ;; + 'import-key'|'i') source "${MHSHAREDIR}/import_key" import_key "$@" diff --git a/src/common b/src/share/common index ef931ca..9adae05 100644 --- a/src/common +++ b/src/share/common @@ -533,12 +533,6 @@ gpg_fetch_userid() { --search ="$userID" > /dev/null 2>&1 returnCode="$?" - # if the user is the monkeysphere user, then update the - # monkeysphere user's trustdb - if [ $(id -un) = "$MONKEYSPHERE_USER" ] ; then - gpg_authentication "--check-trustdb" > /dev/null 2>&1 - fi - return "$returnCode" } diff --git a/src/subcommands/m/gen_subkey b/src/share/m/gen_subkey index cbefaa3..cbefaa3 100644 --- a/src/subcommands/m/gen_subkey +++ b/src/share/m/gen_subkey diff --git a/src/subcommands/m/import_subkey b/src/share/m/import_subkey index aa89958..aa89958 100644 --- a/src/subcommands/m/import_subkey +++ b/src/share/m/import_subkey diff --git a/src/subcommands/m/ssh_proxycommand b/src/share/m/ssh_proxycommand index 56a266e..7239c7a 100644 --- a/src/subcommands/m/ssh_proxycommand +++ b/src/share/m/ssh_proxycommand @@ -15,27 +15,10 @@ # established. Can be added to ~/.ssh/config as follows: # ProxyCommand monkeysphere-ssh-proxycommand %h %p -######################################################################## -PGRM=$(basename $0) - -SYSSHAREDIR=${MONKEYSPHERE_SYSSHAREDIR:-"/usr/share/monkeysphere"} -export SYSSHAREDIR -. "${SYSSHAREDIR}/common" || exit 1 - -######################################################################## -# FUNCTIONS -######################################################################## - -usage() { - cat <<EOF >&2 -usage: ssh -o ProxyCommand="$(basename $0) %h %p" ... -EOF -} - -log() { - echo "$@" >&2 -} +ssh_proxycommand() { +# "marginal case" ouput in the case that there is not a full +# validation path to the host output_no_valid_key() { local sshKeyOffered local userID @@ -250,3 +233,5 @@ if [ -z "$NO_CONNECT" ] ; then exit 255 fi fi + +} diff --git a/src/subcommands/m/subkey_to_ssh_agent b/src/share/m/subkey_to_ssh_agent index 9bedb5e..012c95f 100644 --- a/src/subcommands/m/subkey_to_ssh_agent +++ b/src/share/m/subkey_to_ssh_agent @@ -44,7 +44,8 @@ For more details, see: failure "Could not connect to ssh-agent" fi - # get list of secret keys (to work around https://bugs.g10code.com/gnupg/issue945): + # get list of secret keys (to work around bug + # https://bugs.g10code.com/gnupg/issue945): secretkeys=$(gpg --list-secret-keys --with-colons --fixed-list-mode --fingerprint | \ grep '^fpr:' | cut -f10 -d: | awk '{ print "0x" $1 "!" }') diff --git a/src/subcommands/ma/add_certifier b/src/share/ma/add_certifier index 0c3c647..0c3c647 100644 --- a/src/subcommands/ma/add_certifier +++ b/src/share/ma/add_certifier diff --git a/src/subcommands/ma/diagnostics b/src/share/ma/diagnostics index 73e93a0..73e93a0 100644 --- a/src/subcommands/ma/diagnostics +++ b/src/share/ma/diagnostics diff --git a/src/subcommands/ma/list_certifiers b/src/share/ma/list_certifiers index e37485e..e37485e 100644 --- a/src/subcommands/ma/list_certifiers +++ b/src/share/ma/list_certifiers diff --git a/src/subcommands/ma/remove_certifier b/src/share/ma/remove_certifier index 560281d..560281d 100644 --- a/src/subcommands/ma/remove_certifier +++ b/src/share/ma/remove_certifier diff --git a/src/subcommands/ma/update_users b/src/share/ma/update_users index 73685f6..73685f6 100644 --- a/src/subcommands/ma/update_users +++ b/src/share/ma/update_users diff --git a/src/subcommands/mh/add_hostname b/src/share/mh/add_hostname index 10d5f58..10d5f58 100644 --- a/src/subcommands/mh/add_hostname +++ b/src/share/mh/add_hostname diff --git a/src/subcommands/mh/add_revoker b/src/share/mh/add_revoker index f9d0bb6..f9d0bb6 100644 --- a/src/subcommands/mh/add_revoker +++ b/src/share/mh/add_revoker diff --git a/src/subcommands/mh/diagnostics b/src/share/mh/diagnostics index 7e76da6..7e76da6 100644 --- a/src/subcommands/mh/diagnostics +++ b/src/share/mh/diagnostics diff --git a/src/subcommands/mh/extend_key b/src/share/mh/extend_key index ccbaf0e..ccbaf0e 100644 --- a/src/subcommands/mh/extend_key +++ b/src/share/mh/extend_key diff --git a/src/subcommands/mh/gen_key b/src/share/mh/gen_key index aad213a..162a64e 100644 --- a/src/subcommands/mh/gen_key +++ b/src/share/mh/gen_key @@ -85,10 +85,6 @@ echo "$keyParameters" | gpg_host --batch --gen-key # find the key fingerprint of the newly generated key fingerprint=$(fingerprint_server_key) -# export host ownertrust to authentication keyring -log verbose "setting ultimate owner trust for host key..." -echo "${fingerprint}:6:" | gpg_authentication "--import-ownertrust" - # translate the private key to ssh format, and export to a file # for sshs usage. # NOTE: assumes that the primary key is the proper key to use @@ -98,7 +94,7 @@ echo "${fingerprint}:6:" | gpg_authentication "--import-ownertrust" log info "SSH host private key output to file: ${SYSDATADIR}/ssh_host_rsa_key" ssh-keygen -y -f "${SYSDATADIR}/ssh_host_rsa_key" > "${SYSDATADIR}/ssh_host_rsa_key.pub" log info "SSH host public key output to file: ${SYSDATADIR}/ssh_host_rsa_key.pub" -gpg_authentication "--export-options export-minimal --armor --export 0x${fingerprint}\!" > "${SYSDATADIR}/ssh_host_rsa_key.pub.gpg" +gpg_host "--export-options export-minimal --armor --export 0x${fingerprint}\!" > "${SYSDATADIR}/ssh_host_rsa_key.pub.gpg" log info "SSH host public key in OpenPGP form: ${SYSDATADIR}/ssh_host_rsa_key.pub.gpg" # show info about new key diff --git a/src/subcommands/mh/import_key b/src/share/mh/import_key index 386e02d..c0d5956 100644 --- a/src/subcommands/mh/import_key +++ b/src/share/mh/import_key @@ -77,10 +77,9 @@ fingerprint=$(fingerprint_server_key) # export host ownertrust to authentication keyring log verbose "setting ultimate owner trust for host key..." echo "${fingerprint}:6:" | gpg_host "--import-ownertrust" -echo "${fingerprint}:6:" | gpg_authentication "--import-ownertrust" # export public key to file -gpg_authentication "--export-options export-minimal --armor --export 0x${fingerprint}\!" > "${SYSDATADIR}/ssh_host_rsa_key.pub.gpg" +gpg_host "--export-options export-minimal --armor --export 0x${fingerprint}\!" > "${SYSDATADIR}/ssh_host_rsa_key.pub.gpg" log info "SSH host public key in OpenPGP form: ${SYSDATADIR}/ssh_host_rsa_key.pub.gpg" # show info about new key diff --git a/src/subcommands/mh/publish_key b/src/share/mh/publish_key index b7ab01d..b7ab01d 100644 --- a/src/subcommands/mh/publish_key +++ b/src/share/mh/publish_key diff --git a/src/subcommands/mh/revoke_hostname b/src/share/mh/revoke_hostname index b519cf6..b519cf6 100644 --- a/src/subcommands/mh/revoke_hostname +++ b/src/share/mh/revoke_hostname diff --git a/src/subcommands/mh/revoke_key b/src/share/mh/revoke_key index cccdc22..cccdc22 100644 --- a/src/subcommands/mh/revoke_key +++ b/src/share/mh/revoke_key |