summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJameson Graef Rollins <jrollins@finestructure.net>2009-02-15 23:27:12 -0500
committerJameson Graef Rollins <jrollins@finestructure.net>2009-02-15 23:27:12 -0500
commitea4d25a641c19dc66c6066f46070065e22d46d91 (patch)
tree7ba78c2ed0a43beec8de0dc889b465beaa534fc3 /src
parent9f033ac0c9a96acbbc583327026adb37e4d5a8a9 (diff)
unbreakout some functions that were broken out earlier for handling creating ssh key files, since they are actually done in different ways under different circumstances.
Diffstat (limited to 'src')
-rwxr-xr-xsrc/monkeysphere-host21
-rw-r--r--src/share/mh/gen_key19
2 files changed, 15 insertions, 25 deletions
diff --git a/src/monkeysphere-host b/src/monkeysphere-host
index f79c2bb..32d843b 100755
--- a/src/monkeysphere-host
+++ b/src/monkeysphere-host
@@ -97,23 +97,6 @@ gpg_host_export() {
"0x${HOST_FINGERPRINT}!"
}
-# export the host secret key to the monkeysphere ssh sec key file
-# NOTE: assumes that the primary key is the proper key to use
-create_ssh_sec_file() {
- log debug "creating ssh secret key file..."
- (umask 077 && \
- gpg_host --export-secret-key "$HOST_FINGERPRINT" | \
- openpgp2ssh "$HOST_FINGERPRINT" > "${MHDATADIR}/ssh_host_rsa_key")
- log info "SSH host secret key file: ${MHDATADIR}/ssh_host_rsa_key"
-}
-
-# export the host public key to the monkeysphere ssh pub key file
-create_ssh_pub_file() {
- log debug "creating ssh public key file..."
- ssh-keygen -y -f "${MHDATADIR}/ssh_host_rsa_key" > "$HOST_KEY_PUB"
- log info "SSH host public key file: $HOST_KEY_PUB"
-}
-
# export the host public key to the monkeysphere gpg pub key file
create_gpg_pub_file() {
log debug "creating openpgp public key file..."
@@ -194,7 +177,7 @@ find_host_userid() {
# show info about the host key
show_key() {
gpg_host --fingerprint --list-key --list-options show-unusable-uids \
- "0x${HOST_FINGERPRINT}!" 2>/dev/null
+ "0x${HOST_FINGERPRINT}!" 2>/dev/null || true
# FIXME: make sure expiration date is shown
echo "OpenPGP fingerprint: $HOST_FINGERPRINT"
@@ -307,7 +290,7 @@ case $COMMAND in
usage: $PGRM expert <subcommand> [options] [args]
expert subcommands:
- import-key (i) [NAME[:PORT]] import existing ssh key to gpg
+ import-key (i) FILE [NAME[:PORT]] import existing ssh key to gpg
gen-key (g) [NAME[:PORT]] generate gpg key for the host
--length (-l) BITS key length in bits (2048)
diagnostics (d) monkeysphere host status
diff --git a/src/share/mh/gen_key b/src/share/mh/gen_key
index 873ed02..3b9a269 100644
--- a/src/share/mh/gen_key
+++ b/src/share/mh/gen_key
@@ -13,7 +13,7 @@
gen_key() {
-local hostName=$(hostname -f)
+local hostName
local keyType="RSA"
local keyLength="2048"
local keyUsage="auth"
@@ -37,7 +37,7 @@ Type '$PGRM help' for usage."
esac
done
-hostName="$1"
+hostName=${1:-$(hostname -f)}
userID="ssh://${hostName}"
# create host home
@@ -60,11 +60,18 @@ EOF
# load the new host fpr into the fpr variable
load_fingerprint_secret
-# export to ssh secret key file
-create_ssh_sec_file
+# export the host secret key to the monkeysphere ssh sec key file
+# NOTE: assumes that the primary key is the proper key to use
+log debug "creating ssh secret key file..."
+(umask 077 && \
+ gpg_host --export-secret-key "$HOST_FINGERPRINT" | \
+ openpgp2ssh "$HOST_FINGERPRINT" > "${MHDATADIR}/ssh_host_rsa_key")
+log info "SSH host secret key file: ${MHDATADIR}/ssh_host_rsa_key"
-# export to ssh public key file
-create_ssh_pub_file
+# export the host public key to the monkeysphere ssh pub key file
+log debug "creating ssh public key file..."
+ssh-keygen -y -f "${MHDATADIR}/ssh_host_rsa_key" > "$HOST_KEY_PUB"
+log info "SSH host public key file: $HOST_KEY_PUB"
# export to gpg public key to file
create_gpg_pub_file