From 056974d26f2358af59682a90029ed1739a4478ee Mon Sep 17 00:00:00 2001 From: Jameson Graef Rollins Date: Fri, 15 Aug 2008 10:48:02 -0700 Subject: closing bug. --- .../bugs/monkeysphere-should-respect-keyserver-settings-in-gpg.mdwn | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'website') diff --git a/website/bugs/monkeysphere-should-respect-keyserver-settings-in-gpg.mdwn b/website/bugs/monkeysphere-should-respect-keyserver-settings-in-gpg.mdwn index 3fbf19f..85f79f1 100644 --- a/website/bugs/monkeysphere-should-respect-keyserver-settings-in-gpg.mdwn +++ b/website/bugs/monkeysphere-should-respect-keyserver-settings-in-gpg.mdwn @@ -16,3 +16,7 @@ following order instead: * default value of subkeys.pgp.net -- Sir Jam Jam + +--- + +[[bugs/done]] 2008-08-15 in ab5cfab5be64cfb5e01c2b660587da43b3097cad -- cgit v1.2.3 From dd26d5acdc42dac6e39ed2f94eb0b5b795e58874 Mon Sep 17 00:00:00 2001 From: Daniel Kahn Gillmor Date: Fri, 15 Aug 2008 14:18:24 -0400 Subject: switched jrollins repo to use the git protocol --- website/download.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'website') diff --git a/website/download.mdwn b/website/download.mdwn index 982f88f..3c2f3c5 100644 --- a/website/download.mdwn +++ b/website/download.mdwn @@ -28,7 +28,7 @@ The git repo from this web site: [Jameson Graef Rollins](http://cmrg.fifthhorseman.net/wiki/jrollins): - git clone http://lair.fifthhorseman.net/~jrollins/git/monkeysphere.git monkeysphere + git clone git://lair.fifthhorseman.net/~jrollins/monkeysphere monkeysphere [Daniel Kahn Gillmor](http://cmrg.fifthhorseman.net/wiki/dkg): -- cgit v1.2.3 From d686f4a38a283db78c7922db5c16b9de98d640b9 Mon Sep 17 00:00:00 2001 From: Daniel Kahn Gillmor Date: Fri, 15 Aug 2008 15:01:08 -0400 Subject: closing multiple-hostnames bug now that we have an implementation. --- website/bugs/multiple-hostnames.mdwn | 2 ++ 1 file changed, 2 insertions(+) (limited to 'website') diff --git a/website/bugs/multiple-hostnames.mdwn b/website/bugs/multiple-hostnames.mdwn index 7597af5..f4920fd 100644 --- a/website/bugs/multiple-hostnames.mdwn +++ b/website/bugs/multiple-hostnames.mdwn @@ -35,3 +35,5 @@ probably prompt the administrator to re-publish the host key as well, to ensure that the new User IDs are published. --dkg + +[[bugs/done]] on 2008-08-15 15:00:02-0400 in 84b775ff0b36ec4b86e6708844ad2d678eced403 -- cgit v1.2.3 From 74a7b27673d1b7a19c6877a89c8651886c9abfe6 Mon Sep 17 00:00:00 2001 From: Daniel Kahn Gillmor Date: Fri, 15 Aug 2008 15:17:47 -0400 Subject: fixing proposed script to push authentication subkeys into the ssh-agent. --- website/bugs/handle-passphrase-locked-secret-keys.mdwn | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'website') diff --git a/website/bugs/handle-passphrase-locked-secret-keys.mdwn b/website/bugs/handle-passphrase-locked-secret-keys.mdwn index b66e4c7..ae5bf72 100644 --- a/website/bugs/handle-passphrase-locked-secret-keys.mdwn +++ b/website/bugs/handle-passphrase-locked-secret-keys.mdwn @@ -36,8 +36,10 @@ work for reasonable values of `$KEYID`: mkfifo "$TMPDIR/passphrase" kname="MonkeySphere Key $KEYID" mkfifo "$TMPDIR/$kname" - ssh-agent "Please enter the passphrase for MonkeySphere key $KEYID" >"$TMPDIR/passphrase" & - gpg --passphrase-fd 3 3<"$TMPDIR/passphrase" --export-options export-reset-subkey-passwd,export-minimal,no-export-attributes --export-secret-subkeys "$KEYID"\! | openpgp2ssh "$KEYID" > "$TMPDIR/$kname" + ssh-askpass "Please enter the passphrase for MonkeySphere key $KEYID" >"$TMPDIR/passphrase" & + gpg --passphrase-fd 3 3<"$TMPDIR/passphrase" \ + --export-options export-reset-subkey-passwd,export-minimal,no-export-attributes \ + --export-secret-subkeys "$KEYID"\! | openpgp2ssh "$KEYID" > "$TMPDIR/$kname" & (cd "$TMPDIR" && ssh-add -c "$kname") rm -rf "$TMPDIR" -- cgit v1.2.3 From 78fe687a40613136c72bf3fcf16939d4415d4a1c Mon Sep 17 00:00:00 2001 From: Daniel Kahn Gillmor Date: Fri, 15 Aug 2008 16:51:35 -0400 Subject: fixing gen-subkey when no agent is present. --- debian/changelog | 3 ++- debian/control | 2 +- src/monkeysphere | 14 ++++++++++++-- .../bugs/monkeysphere-gen-subkey-fails-without-agent.mdwn | 7 +++++++ 4 files changed, 22 insertions(+), 4 deletions(-) (limited to 'website') diff --git a/debian/changelog b/debian/changelog index 59aea1e..e6dfccd 100644 --- a/debian/changelog +++ b/debian/changelog @@ -6,6 +6,7 @@ monkeysphere (0.8-1) UNRELEASED; urgency=low * More monkeysphere-server diagnostics * monkeysphere --gen-subkey now guesses what KeyID you meant. * set up host-key revocation + * added Recommends: ssh-askpass to ensure monkeysphere --gen-subkey works [ Jameson Graef Rollins ] * fix another bug for when ssh key files are missing. @@ -15,7 +16,7 @@ monkeysphere (0.8-1) UNRELEASED; urgency=low * enabled host key publication. * added checking of gpg.conf for keyserver - -- Jameson Graef Rollins Fri, 15 Aug 2008 10:46:23 -0700 + -- Daniel Kahn Gillmor Fri, 15 Aug 2008 16:06:31 -0400 monkeysphere (0.7-1) experimental; urgency=low diff --git a/debian/control b/debian/control index 0b3d871..7fbcbc7 100644 --- a/debian/control +++ b/debian/control @@ -13,7 +13,7 @@ Format: 3.0 (git) Package: monkeysphere Architecture: any Depends: openssh-client, gnupg | gnupg2, coreutils (>= 6), moreutils, lockfile-progs, adduser, ${shlibs:Depends} -Recommends: netcat | socat +Recommends: netcat | socat, ssh-askpass Enhances: openssh-client, openssh-server Description: use the OpenPGP web of trust to verify ssh connections SSH key-based authentication is tried-and-true, but it lacks a true diff --git a/src/monkeysphere b/src/monkeysphere index 6d9e6c3..57597e2 100755 --- a/src/monkeysphere +++ b/src/monkeysphere @@ -48,7 +48,6 @@ EOF } # generate a subkey with the 'a' usage flags set -# FIXME: this needs some tweaking to clean it up gen_subkey(){ local keyLength local keyExpire @@ -163,7 +162,18 @@ EOF ) log "generating subkey..." - echo "$editCommands" | gpg --expert --command-fd 0 --edit-key "$keyID" + fifoDir=$(mktemp -d) + (umask 077 && mkfifo "$fifoDir/pass") + echo "$editCommands" | gpg --passphrase-fd 3 3< "$fifoDir/pass" --expert --command-fd 0 --edit-key "$keyID" & + + if [ "$DISPLAY" ] && which ssh-askpass >/dev/null; then + ssh-askpass "Please enter your passphrase for $keyID: " > "$fifoDir/pass" + else + read -s -p "Please enter your passphrase for $keyID: " PASS + echo "$PASS" > "$fifoDir/pass" + fi + rm -rf "$fifoDir" + wait log "done." } diff --git a/website/bugs/monkeysphere-gen-subkey-fails-without-agent.mdwn b/website/bugs/monkeysphere-gen-subkey-fails-without-agent.mdwn index 51cf57e..e97b49c 100644 --- a/website/bugs/monkeysphere-gen-subkey-fails-without-agent.mdwn +++ b/website/bugs/monkeysphere-gen-subkey-fails-without-agent.mdwn @@ -135,3 +135,10 @@ it. Alternately, we could use `--passwd-fd` and `ssh-agent`, along the lines i proposed [for handling passphrase-locked secret keys](/bugs/handle-passphrase-locked-secret-keys). + +--- + +[[bugs/done]] as of 2008-08-15 16:48:26-0400 (to be released in 0.8-1) + +I opted to go with the `ssh-askpass` route, and fall back to echoing +stuff to a fifo directly if `ssh-askpass` is not available. -- cgit v1.2.3 From c9acc1237d8e21d74fe7070af1b061c888664e8b Mon Sep 17 00:00:00 2001 From: Daniel Kahn Gillmor Date: Fri, 15 Aug 2008 17:19:58 -0400 Subject: noting that list-identity-certifiers should be running as a non-privileged user. --- website/bugs/list-id-certifiers-should-run-non-priv.mdwn | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 website/bugs/list-id-certifiers-should-run-non-priv.mdwn (limited to 'website') diff --git a/website/bugs/list-id-certifiers-should-run-non-priv.mdwn b/website/bugs/list-id-certifiers-should-run-non-priv.mdwn new file mode 100644 index 0000000..3cbd1af --- /dev/null +++ b/website/bugs/list-id-certifiers-should-run-non-priv.mdwn @@ -0,0 +1,15 @@ +[[meta title="list-identity-certfiers should run as the non-privileged user"]] + +Right now, `monkeysphere-server list-identity-certifiers` runs as the +superuser, and just lists the keys in the host's keyring. This might +not be the actual list of valid id certifiers, for a number of reasons: + +* the keys themselves might have been revoked by the owner + +* the id-certifiers might have been added with a different trust + level, or a regexp/domain limitation. + +It would make more sense to derive the list of trusted certifiers +directly from the keyrings as seen by the non-privileged +`monkeysphere` user, since this user's keyrings are what are going to +judge the validity of various user IDs. -- cgit v1.2.3 From 9806e7372feb98c9acdbe0b3e428609539b40aa5 Mon Sep 17 00:00:00 2001 From: Daniel Kahn Gillmor Date: Sat, 16 Aug 2008 01:14:07 -0400 Subject: added "Why?" to the web site. --- website/index.mdwn | 13 +++--- website/why.mdwn | 126 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 133 insertions(+), 6 deletions(-) create mode 100644 website/why.mdwn (limited to 'website') diff --git a/website/index.mdwn b/website/index.mdwn index 853c75b..652f195 100644 --- a/website/index.mdwn +++ b/website/index.mdwn @@ -9,7 +9,7 @@ yourself and the servers you administer or connect to. OpenPGP keys are tracked via GnuPG, and managed in the `known_hosts` and `authorized_keys` files used by OpenSSH for connection authentication. -[[bugs]] | [[download]] | [[news]] | [[documentation|doc]] +[[bugs]] | [[download]] | [[news]] | [[documentation|doc]] | [[why should i be interested|why]] ## Conceptual overview ## @@ -26,13 +26,14 @@ keys for authenticating to a server (known as "`PubkeyAuthentication`"), rather than relying on a password exchange. But again, the public part of the key needs to be transmitted to the server through a secure out-of-band channel (usually via a separate -password-based SSH connection) in order for this type of -authentication to work +password-based SSH connection or a (hopefully signed) e-mail to the +system administrator) in order for this type of authentication to +work. [OpenSSH](http://openssh.com/) currently provides a functional way to -managing the RSA and DSA keys required for these interactions through -the `known_hosts` and `authorized_keys` files. However, it lacks -any type of [Public Key Infrastructure +manage the RSA and DSA keys required for these interactions through +the `known_hosts` and `authorized_keys` files. However, it lacks any +type of [Public Key Infrastructure (PKI)](http://en.wikipedia.org/wiki/Public_Key_Infrastructure) that can verify that the keys being used really are the one required or expected. diff --git a/website/why.mdwn b/website/why.mdwn new file mode 100644 index 0000000..7f69614 --- /dev/null +++ b/website/why.mdwn @@ -0,0 +1,126 @@ +[[meta title="Why should you be interested in the MonkeySphere?"]] + +# Why should you be interested in the MonkeySphere? # + +## As an `ssh` user ## + +Do you use `ssh` to connect to remote machines? Are you tired of +seeing messages like this? + + The authenticity of host 'foo.example.org (192.0.2.3)' can't be established. + RSA key fingerprint is 17:f4:2b:22:90:d4:98:9a:a2:c5:95:4e:4a:89:be:90. + Are you sure you want to continue connecting (yes/no)? + +Do you actually tediously check the fingerprint against a +cryptographically-signed message from the admin, or do you just cross +your fingers and type "yes"? Do you wish there was a better way to do +it? Shouldn't our tools be able to figure this out automatically? + +Do you use `ssh`'s public key authentication for convenience and/or +added security? Have you ever worried about what might happen if you +lose control of your key? (Or did you have a key that was compromised +by [the OpenSSL debacle](http://bugs.debian.org/363516)?) How many +accounts/machines would you need to clean up to ensure that your old, +bad key is no longer in use? + +Have you ever wished you could phase out an old key and start using a +new one without having to comb through every single account you have +ever connected to? + +## As an `sshd` administrator ## + +If you are a system administrator, have you ever tried to re-key an +SSH server? How did you ease the change along to your users? How did +you keep them from getting the big scary warning messages? + +Have you ever wanted to allow a colleague key-based access to a +machine, *without* needing to have a copy of their public key on hand? + +Have you ever wanted to be able to revoke the ability of a key to +authenticate across the entire infrastructure you manage, without +touching each host by hand? + +## What's the connection? ## + +These questions all stem from rough edges we run up against in regular +use of SSH that could be improved by a decent [Public Key +Infrastructure (or +PKI)](http://dictionary.die.net/public%20key%20infrastructure). A PKI +at its core is a mechanism to provide answers to a few basic +questions: + +* Do we know who a key actually belongs to? How do we know? +* Is the key still valid for use? + +Given a clearly stated set of initial assumptions, functional +cryptographic tools, and a PKI, these questions can be clearly +answered in an automated fashion. We should not need to ask humans to +do complicated, error-prone things (e.g. checking host key +fingerprints) except in relatively rare situations (e.g. when two +people meet in person for the first time). + +The good news is that this is all possible, and available with free +tools! + +## Examples ## + +Bob is an `ssh` user, and has just been given an account on +`foo.example.org` by Alice, the `example.org` system administrator, +who he knows. + +Bob already trusts Alice to properly identify all `example.org` +servers. Alice already knows who Bob is, and the new machine `foo` +knows that it can rely on Alice's certifications because Alice is its +administrator. + +Alice can set up the new `bob` account on `foo.example.org` without +needing to give Bob a new passphrase to remember, and without needing +to even know Bob's current SSH key. She simply tells `foo` that `Bob +` should have access to the `bob` account. + +Bob's first connection to his new `bob` account on `foo.example.org` +is seamless, because all the steps are already in place! Using the +MonkeySphere, Bob never has to "accept" an unintelligible host key or +type a password. + +When Bob decides to change the key he uses for SSH authentication, he +can do so at once: he generates a new key, revokes his old key, and +publishes these changes to the public keyservers. The next time he's +ready to log into `foo.example.org`, it accepts his new key -- and it +*won't* accept his old key any longer. + +The same thing works for Alice when she decides to re-key +`foo.example.org` (let's say Alice learned that Eve has compromised +the old key). Alice generates a new key, revokes the old one, +publishes the changes, and the next time Bob connects, he connects as +smoothly as ever. And if Eve tries to use the old host key to +masquerade as `foo`, Bob's SSH client will refuse to let him connect! + +Alice can even quit as `example.org` system administrator, and revoke +her certifications of all `example.org` hosts. As long as Bob knows +and trusts the new `example.org` system administrator to identify +hosts in that domain, there's no problem. + +## Why OpenPGP? ## + +We believe that OpenPGP is the right PKI to use for this project. It +allows a very flexible trust model, ranging all over the map, at the +choice of the user: + +* individual per-host certifications by each client (much like the + stock OpenSSH behavior), + +* strict centralized Certificate Authorities (much like proposed X.509 + models), and + +* a more human-centric model that recognizes individual differences in + ranges of trust and acceptance. + +Even if Bob *doesn't* trust Alice to identify *all* `example.org` +hosts, his first connection to `foo.example.org` should give him more +than an unintelligible string to accept or reject. It should also +give him the information that Alice (and perhaps her colleague +Charles) have certified the key. This is far more useful information +than the current infrastructure allows, and is more meaningful to +actual humans using these tools than some message like "Certified by +GloboTrust". -- cgit v1.2.3 From bcc7aeea4e3e4a0175525259f22d07b0caf3e10b Mon Sep 17 00:00:00 2001 From: Daniel Kahn Gillmor Date: Sat, 16 Aug 2008 01:15:25 -0400 Subject: fixing website index link --- website/index.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'website') diff --git a/website/index.mdwn b/website/index.mdwn index 652f195..91da45d 100644 --- a/website/index.mdwn +++ b/website/index.mdwn @@ -9,7 +9,7 @@ yourself and the servers you administer or connect to. OpenPGP keys are tracked via GnuPG, and managed in the `known_hosts` and `authorized_keys` files used by OpenSSH for connection authentication. -[[bugs]] | [[download]] | [[news]] | [[documentation|doc]] | [[why should i be interested|why]] +[[bugs]] | [[download]] | [[news]] | [[documentation|doc]] | [["why should i be interested?"|why]] ## Conceptual overview ## -- cgit v1.2.3 From ae661bf9fd9ce62069a99bb9de16df8b44beee8a Mon Sep 17 00:00:00 2001 From: Daniel Kahn Gillmor Date: Sat, 16 Aug 2008 01:18:08 -0400 Subject: fixing website index link again --- website/index.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'website') diff --git a/website/index.mdwn b/website/index.mdwn index 91da45d..8ff984d 100644 --- a/website/index.mdwn +++ b/website/index.mdwn @@ -9,7 +9,7 @@ yourself and the servers you administer or connect to. OpenPGP keys are tracked via GnuPG, and managed in the `known_hosts` and `authorized_keys` files used by OpenSSH for connection authentication. -[[bugs]] | [[download]] | [[news]] | [[documentation|doc]] | [["why should i be interested?"|why]] +[[bugs]] | [[download]] | [[news]] | [[documentation|doc]] | [why should i be interested?](/why) ## Conceptual overview ## -- cgit v1.2.3 From 1a17d5082447dd76f52df929bfe2f0855512c9f9 Mon Sep 17 00:00:00 2001 From: Jameson Graef Rollins Date: Sat, 16 Aug 2008 00:10:25 -0700 Subject: close bug --- website/bugs/list-id-certifiers-should-run-non-priv.mdwn | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'website') diff --git a/website/bugs/list-id-certifiers-should-run-non-priv.mdwn b/website/bugs/list-id-certifiers-should-run-non-priv.mdwn index 3cbd1af..2a3d533 100644 --- a/website/bugs/list-id-certifiers-should-run-non-priv.mdwn +++ b/website/bugs/list-id-certifiers-should-run-non-priv.mdwn @@ -13,3 +13,7 @@ It would make more sense to derive the list of trusted certifiers directly from the keyrings as seen by the non-privileged `monkeysphere` user, since this user's keyrings are what are going to judge the validity of various user IDs. + +--- + +[[bugs/done]] 2008-08-16 in a29b35e69d0fab5f2de42ed5edd9512a6552e75a -- cgit v1.2.3 From e5a8a06d746d0844ba842d081c1898cd8f98e94e Mon Sep 17 00:00:00 2001 From: Jameson Graef Rollins Date: Sat, 16 Aug 2008 10:11:16 -0700 Subject: small tweak to why link --- website/index.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'website') diff --git a/website/index.mdwn b/website/index.mdwn index 8ff984d..495d963 100644 --- a/website/index.mdwn +++ b/website/index.mdwn @@ -9,7 +9,7 @@ yourself and the servers you administer or connect to. OpenPGP keys are tracked via GnuPG, and managed in the `known_hosts` and `authorized_keys` files used by OpenSSH for connection authentication. -[[bugs]] | [[download]] | [[news]] | [[documentation|doc]] | [why should i be interested?](/why) +[why you should be interested](/why) | [[bugs]] | [[download]] | [[news]] | [[documentation|doc]] ## Conceptual overview ## -- cgit v1.2.3 From 7045b2d1cc40dab98eee7eeea72323cc2c79f17d Mon Sep 17 00:00:00 2001 From: Jameson Graef Rollins Date: Sat, 16 Aug 2008 10:44:46 -0700 Subject: New bug about revoke-hostname revoking the wrong hostname. --- .../revoke-hostname-revoking-wrong-userid.mdwm | 94 ++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 website/bugs/revoke-hostname-revoking-wrong-userid.mdwm (limited to 'website') diff --git a/website/bugs/revoke-hostname-revoking-wrong-userid.mdwm b/website/bugs/revoke-hostname-revoking-wrong-userid.mdwm new file mode 100644 index 0000000..5c2c508 --- /dev/null +++ b/website/bugs/revoke-hostname-revoking-wrong-userid.mdwm @@ -0,0 +1,94 @@ +[[meta title="revoke-hostname function revokes wrong hostname user ID"]] + +It appears that the monkeysphere-server revoke-hostname function will +occasionaly revoke the wrong hostname. I say occasionally, but it +seems to be doing it pretty consistently for me at the moment: + + servo:~ 0$ sudo monkeysphere-server n- servo.finestructure.net + The following host key user ID will be revoked: + ssh://servo.finestructure.net + Are you sure you would like to revoke this user ID? (y/N) y + gpg (GnuPG) 1.4.9; Copyright (C) 2008 Free Software Foundation, Inc. + This is free software: you are free to change and redistribute it. + There is NO WARRANTY, to the extent permitted by law. + + Secret key is available. + + pub 1024R/9EEAC276 created: 2008-07-10 expires: never usage: CA + trust: ultimate validity: ultimate + [ultimate] (1) ssh://localhost.localdomain + [ultimate] (2). ssh://servo.finestructure.net + [ revoked] (3) ssh://jamie.rollins + [ revoked] (4) asdfsdflkjsdf + [ revoked] (5) ssh://asdfsdlf.safsdf + [ revoked] (6) ssh://bar.baz + [ revoked] (7) ssh://foo.bar + [ revoked] (8) ssh:// + + + pub 1024R/9EEAC276 created: 2008-07-10 expires: never usage: CA + trust: ultimate validity: ultimate + [ultimate] (1)* ssh://localhost.localdomain + [ultimate] (2). ssh://servo.finestructure.net + [ revoked] (3) ssh://jamie.rollins + [ revoked] (4) asdfsdflkjsdf + [ revoked] (5) ssh://asdfsdlf.safsdf + [ revoked] (6) ssh://bar.baz + [ revoked] (7) ssh://foo.bar + [ revoked] (8) ssh:// + + Please select the reason for the revocation: + 0 = No reason specified + 4 = User ID is no longer valid + Q = Cancel + (Probably you want to select 4 here) + Enter an optional description; end it with an empty line: + Reason for revocation: User ID is no longer valid + Hostname removed by monkeysphere-server 2008-08-16T17:34:02 + + pub 1024R/9EEAC276 created: 2008-07-10 expires: never usage: CA + trust: ultimate validity: ultimate + [ revoked] (1) ssh://localhost.localdomain + [ultimate] (2). ssh://servo.finestructure.net + [ revoked] (3) ssh://jamie.rollins + [ revoked] (4) asdfsdflkjsdf + [ revoked] (5) ssh://asdfsdlf.safsdf + [ revoked] (6) ssh://bar.baz + [ revoked] (7) ssh://foo.bar + [ revoked] (8) ssh:// + + gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model + gpg: depth: 0 valid: 1 signed: 2 trust: 0-, 0q, 0n, 0m, 0f, 1u + gpg: depth: 1 valid: 2 signed: 0 trust: 0-, 0q, 0n, 0m, 2f, 0u + gpg: next trustdb check due at 2012-01-07 + sec 1024R/9EEAC276 2008-07-10 + Key fingerprint = C094 43E0 6882 8BE2 E9AD 516C 45CF 974D 9EEA C276 + uid ssh://servo.finestructure.net + uid [ revoked] ssh://localhost.localdomain + uid [ revoked] ssh://jamie.rollins + uid [ revoked] asdfsdflkjsdf + uid [ revoked] ssh://asdfsdlf.safsdf + uid [ revoked] ssh://bar.baz + uid [ revoked] ssh://foo.bar + uid [ revoked] ssh:// + + NOTE: User ID revoked, but revokation not published. + Run 'monkeysphere-server publish-key' to publish the revocation. + servo:~ 0$ + +Clearly this is unacceptable. Because of more inadequacies in gpg, +you can't specify a uid to revoke from the command line. The uid +revokation requires an edit-key script, which we have used before, but +you have to specify by "number" which uid to revoke. We currently try +to guess the number from the ordering of the output of list-key. This +however is not always accurate. I don't have a good solution for a +fix at the moment. Suggestions are most welcome. It may just require +some trial and error with edit-key to come up with something workable. + +This underlines the problem that gpg sucks ass as a tool for +manipulating gpg keyrings non-interactively. This is a big problem. +We need something better that we can use. I would gladly rewrite +everything if there was a better tool out there, but I don't know of +one. + +-- Big Jimmy. -- cgit v1.2.3 From 572454f60d125be4741e4d9c3c50d9c48be5fecf Mon Sep 17 00:00:00 2001 From: Jameson Graef Rollins Date: Sun, 17 Aug 2008 00:06:30 -0700 Subject: fix bug name. --- .../revoke-hostname-revoking-wrong-userid.mdwm | 94 ---------------------- 1 file changed, 94 deletions(-) delete mode 100644 website/bugs/revoke-hostname-revoking-wrong-userid.mdwm (limited to 'website') diff --git a/website/bugs/revoke-hostname-revoking-wrong-userid.mdwm b/website/bugs/revoke-hostname-revoking-wrong-userid.mdwm deleted file mode 100644 index 5c2c508..0000000 --- a/website/bugs/revoke-hostname-revoking-wrong-userid.mdwm +++ /dev/null @@ -1,94 +0,0 @@ -[[meta title="revoke-hostname function revokes wrong hostname user ID"]] - -It appears that the monkeysphere-server revoke-hostname function will -occasionaly revoke the wrong hostname. I say occasionally, but it -seems to be doing it pretty consistently for me at the moment: - - servo:~ 0$ sudo monkeysphere-server n- servo.finestructure.net - The following host key user ID will be revoked: - ssh://servo.finestructure.net - Are you sure you would like to revoke this user ID? (y/N) y - gpg (GnuPG) 1.4.9; Copyright (C) 2008 Free Software Foundation, Inc. - This is free software: you are free to change and redistribute it. - There is NO WARRANTY, to the extent permitted by law. - - Secret key is available. - - pub 1024R/9EEAC276 created: 2008-07-10 expires: never usage: CA - trust: ultimate validity: ultimate - [ultimate] (1) ssh://localhost.localdomain - [ultimate] (2). ssh://servo.finestructure.net - [ revoked] (3) ssh://jamie.rollins - [ revoked] (4) asdfsdflkjsdf - [ revoked] (5) ssh://asdfsdlf.safsdf - [ revoked] (6) ssh://bar.baz - [ revoked] (7) ssh://foo.bar - [ revoked] (8) ssh:// - - - pub 1024R/9EEAC276 created: 2008-07-10 expires: never usage: CA - trust: ultimate validity: ultimate - [ultimate] (1)* ssh://localhost.localdomain - [ultimate] (2). ssh://servo.finestructure.net - [ revoked] (3) ssh://jamie.rollins - [ revoked] (4) asdfsdflkjsdf - [ revoked] (5) ssh://asdfsdlf.safsdf - [ revoked] (6) ssh://bar.baz - [ revoked] (7) ssh://foo.bar - [ revoked] (8) ssh:// - - Please select the reason for the revocation: - 0 = No reason specified - 4 = User ID is no longer valid - Q = Cancel - (Probably you want to select 4 here) - Enter an optional description; end it with an empty line: - Reason for revocation: User ID is no longer valid - Hostname removed by monkeysphere-server 2008-08-16T17:34:02 - - pub 1024R/9EEAC276 created: 2008-07-10 expires: never usage: CA - trust: ultimate validity: ultimate - [ revoked] (1) ssh://localhost.localdomain - [ultimate] (2). ssh://servo.finestructure.net - [ revoked] (3) ssh://jamie.rollins - [ revoked] (4) asdfsdflkjsdf - [ revoked] (5) ssh://asdfsdlf.safsdf - [ revoked] (6) ssh://bar.baz - [ revoked] (7) ssh://foo.bar - [ revoked] (8) ssh:// - - gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model - gpg: depth: 0 valid: 1 signed: 2 trust: 0-, 0q, 0n, 0m, 0f, 1u - gpg: depth: 1 valid: 2 signed: 0 trust: 0-, 0q, 0n, 0m, 2f, 0u - gpg: next trustdb check due at 2012-01-07 - sec 1024R/9EEAC276 2008-07-10 - Key fingerprint = C094 43E0 6882 8BE2 E9AD 516C 45CF 974D 9EEA C276 - uid ssh://servo.finestructure.net - uid [ revoked] ssh://localhost.localdomain - uid [ revoked] ssh://jamie.rollins - uid [ revoked] asdfsdflkjsdf - uid [ revoked] ssh://asdfsdlf.safsdf - uid [ revoked] ssh://bar.baz - uid [ revoked] ssh://foo.bar - uid [ revoked] ssh:// - - NOTE: User ID revoked, but revokation not published. - Run 'monkeysphere-server publish-key' to publish the revocation. - servo:~ 0$ - -Clearly this is unacceptable. Because of more inadequacies in gpg, -you can't specify a uid to revoke from the command line. The uid -revokation requires an edit-key script, which we have used before, but -you have to specify by "number" which uid to revoke. We currently try -to guess the number from the ordering of the output of list-key. This -however is not always accurate. I don't have a good solution for a -fix at the moment. Suggestions are most welcome. It may just require -some trial and error with edit-key to come up with something workable. - -This underlines the problem that gpg sucks ass as a tool for -manipulating gpg keyrings non-interactively. This is a big problem. -We need something better that we can use. I would gladly rewrite -everything if there was a better tool out there, but I don't know of -one. - --- Big Jimmy. -- cgit v1.2.3 From 72a88981d0fbabb60b6094b43fb6e87b141e8b15 Mon Sep 17 00:00:00 2001 From: Jameson Graef Rollins Date: Sun, 17 Aug 2008 00:13:31 -0700 Subject: really change bug name now --- .../revoke-hostname-revoking-wrong-userid.mdwn | 94 ++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 website/bugs/revoke-hostname-revoking-wrong-userid.mdwn (limited to 'website') diff --git a/website/bugs/revoke-hostname-revoking-wrong-userid.mdwn b/website/bugs/revoke-hostname-revoking-wrong-userid.mdwn new file mode 100644 index 0000000..847b613 --- /dev/null +++ b/website/bugs/revoke-hostname-revoking-wrong-userid.mdwn @@ -0,0 +1,94 @@ +[[meta title="revoke-hostname function revokes wrong hostname user ID"]] + +It appears that the monkeysphere-server revoke-hostname function will +occasionaly revoke the wrong hostname. I say occasionally, but it +seems to be doing it pretty consistently for me at the moment: + + servo:~ 0$ sudo monkeysphere-server n- servo.finestructure.net + The following host key user ID will be revoked: + ssh://servo.finestructure.net + Are you sure you would like to revoke this user ID? (y/N) y + gpg (GnuPG) 1.4.9; Copyright (C) 2008 Free Software Foundation, Inc. + This is free software: you are free to change and redistribute it. + There is NO WARRANTY, to the extent permitted by law. + + Secret key is available. + + pub 1024R/9EEAC276 created: 2008-07-10 expires: never usage: CA + trust: ultimate validity: ultimate + [ultimate] (1) ssh://localhost.localdomain + [ultimate] (2). ssh://servo.finestructure.net + [ revoked] (3) ssh://jamie.rollins + [ revoked] (4) asdfsdflkjsdf + [ revoked] (5) ssh://asdfsdlf.safsdf + [ revoked] (6) ssh://bar.baz + [ revoked] (7) ssh://foo.bar + [ revoked] (8) ssh:// + + + pub 1024R/9EEAC276 created: 2008-07-10 expires: never usage: CA + trust: ultimate validity: ultimate + [ultimate] (1)* ssh://localhost.localdomain + [ultimate] (2). ssh://servo.finestructure.net + [ revoked] (3) ssh://jamie.rollins + [ revoked] (4) asdfsdflkjsdf + [ revoked] (5) ssh://asdfsdlf.safsdf + [ revoked] (6) ssh://bar.baz + [ revoked] (7) ssh://foo.bar + [ revoked] (8) ssh:// + + Please select the reason for the revocation: + 0 = No reason specified + 4 = User ID is no longer valid + Q = Cancel + (Probably you want to select 4 here) + Enter an optional description; end it with an empty line: + Reason for revocation: User ID is no longer valid + Hostname removed by monkeysphere-server 2008-08-16T17:34:02 + + pub 1024R/9EEAC276 created: 2008-07-10 expires: never usage: CA + trust: ultimate validity: ultimate + [ revoked] (1) ssh://localhost.localdomain + [ultimate] (2). ssh://servo.finestructure.net + [ revoked] (3) ssh://jamie.rollins + [ revoked] (4) asdfsdflkjsdf + [ revoked] (5) ssh://asdfsdlf.safsdf + [ revoked] (6) ssh://bar.baz + [ revoked] (7) ssh://foo.bar + [ revoked] (8) ssh:// + + gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model + gpg: depth: 0 valid: 1 signed: 2 trust: 0-, 0q, 0n, 0m, 0f, 1u + gpg: depth: 1 valid: 2 signed: 0 trust: 0-, 0q, 0n, 0m, 2f, 0u + gpg: next trustdb check due at 2012-01-07 + sec 1024R/9EEAC276 2008-07-10 + Key fingerprint = C094 43E0 6882 8BE2 E9AD 516C 45CF 974D 9EEA C276 + uid ssh://servo.finestructure.net + uid [ revoked] ssh://localhost.localdomain + uid [ revoked] ssh://jamie.rollins + uid [ revoked] asdfsdflkjsdf + uid [ revoked] ssh://asdfsdlf.safsdf + uid [ revoked] ssh://bar.baz + uid [ revoked] ssh://foo.bar + uid [ revoked] ssh:// + + NOTE: User ID revoked, but revokation not published. + Run 'monkeysphere-server publish-key' to publish the revocation. + servo:~ 0$ + +Clearly this is unacceptable. Because of more inadequacies in gpg, +you can't specify a uid to revoke from the command line. The uid +revokation requires an edit-key script, which we have used before, but +you have to specify by "number" which uid to revoke. We currently try +to guess the number from the ordering of the output of list-key. This +however is not always accurate. I don't have a good solution for a +fix at the moment. Suggestions are most welcome. It may just require +some trial and error with edit-key to come up with something workable. + +This underlines the problem that gpg sucks ass as a tool for +manipulating gpg keyrings non-interactively. This is a big problem. +We need something better that we can use. I would gladly rewrite +everything if there was a better tool out there, but I don't know of +one. + +-- Big Jimmy. -- cgit v1.2.3 From b3e1bb92aa62bf312c02c2ad02b84c1795f04630 Mon Sep 17 00:00:00 2001 From: Daniel Kahn Gillmor Date: Sun, 17 Aug 2008 22:50:57 -0400 Subject: added comment about verbosity of monkeysphere-ssh-proxycommand --- website/bugs/monkeysphere-ssh-proxycommand-quiet-option.mdwn | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'website') diff --git a/website/bugs/monkeysphere-ssh-proxycommand-quiet-option.mdwn b/website/bugs/monkeysphere-ssh-proxycommand-quiet-option.mdwn index 965f198..028c8f9 100644 --- a/website/bugs/monkeysphere-ssh-proxycommand-quiet-option.mdwn +++ b/website/bugs/monkeysphere-ssh-proxycommand-quiet-option.mdwn @@ -20,3 +20,15 @@ at least, would be for silent output to be the default and have a -v/--verbose option to get the output. Or - maybe these should be environmental variables? In any event - someway to suppress informational output would be a useful improvement. + +------ + +I'd be fine with silent mode as a default, with a more verbose mode +accessible to the user who desires it. + +I'd prefer an environment variable (e.g. `MONKEYSPHERE_VERBOSE` or +`MONKEYSPHERE_DEBUG`) over a command-line (e.g. `--verbose`) option, +personally. It's more in keeping with the model we've used in general +so far. + +--dkg -- cgit v1.2.3 From 176356a2ec9662e5500f82d13dd74ace785b786f Mon Sep 17 00:00:00 2001 From: Daniel Kahn Gillmor Date: Sun, 17 Aug 2008 23:16:00 -0400 Subject: added proposed resolution to "seckey2sshagent in /usr/bin" bug --- website/bugs/install-seckey2sshagent-in-usr-bin.mdwn | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'website') diff --git a/website/bugs/install-seckey2sshagent-in-usr-bin.mdwn b/website/bugs/install-seckey2sshagent-in-usr-bin.mdwn index 5b19b13..0163727 100644 --- a/website/bugs/install-seckey2sshagent-in-usr-bin.mdwn +++ b/website/bugs/install-seckey2sshagent-in-usr-bin.mdwn @@ -25,3 +25,19 @@ part about verifying you to a server. Then it could say: if you're really interested, you can run this hacky script but we make no guarantees. -- Sir Jam Jam + +--- + +I just realized that i think i can test for the presence of [GNU-dummy +support in +GnuTLS](http://lists.gnu.org/archive/html/gnutls-devel/2008-08/msg00005.html), +which means that we can cleanly test whether the proposed [handling of +passphrase-locked secret +keys](bugs/handle-passphrase-locked-secret-keys/) is functional. With +that in mind, I'd like to propose that we could resolve this bug +simply by adding a new subcommand: `monkeysphere authkey-to-agent`, +which would fail in the absence of a functionally-patched GnuTLS. + +Would this proposal be sufficient to resolve this bug? + +--dkg -- cgit v1.2.3 From 6f3fdf1f357ae02850e875ad68aff4e338650d4c Mon Sep 17 00:00:00 2001 From: Daniel Kahn Gillmor Date: Sun, 17 Aug 2008 23:25:13 -0400 Subject: clarified phrasing in why page for admins; softened index link to "why". --- website/index.mdwn | 2 +- website/why.mdwn | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'website') diff --git a/website/index.mdwn b/website/index.mdwn index 495d963..6583e18 100644 --- a/website/index.mdwn +++ b/website/index.mdwn @@ -9,7 +9,7 @@ yourself and the servers you administer or connect to. OpenPGP keys are tracked via GnuPG, and managed in the `known_hosts` and `authorized_keys` files used by OpenSSH for connection authentication. -[why you should be interested](/why) | [[bugs]] | [[download]] | [[news]] | [[documentation|doc]] +[why?](/why) | [[bugs]] | [[download]] | [[news]] | [[documentation|doc]] ## Conceptual overview ## diff --git a/website/why.mdwn b/website/why.mdwn index 7f69614..3f6aa7c 100644 --- a/website/why.mdwn +++ b/website/why.mdwn @@ -36,8 +36,8 @@ you keep them from getting the big scary warning messages? Have you ever wanted to allow a colleague key-based access to a machine, *without* needing to have a copy of their public key on hand? -Have you ever wanted to be able to revoke the ability of a key to -authenticate across the entire infrastructure you manage, without +Have you ever wanted to be able to revoke the ability of a user's key +to authenticate across the entire infrastructure you manage, without touching each host by hand? ## What's the connection? ## -- cgit v1.2.3 From ced3f32242a7f06a6ccb131e7ec500c95441577d Mon Sep 17 00:00:00 2001 From: Daniel Kahn Gillmor Date: Sun, 17 Aug 2008 23:40:12 -0400 Subject: adding a to-do item for work on the web site. --- website/bugs/add-man-pages-to-website.mdwn | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 website/bugs/add-man-pages-to-website.mdwn (limited to 'website') diff --git a/website/bugs/add-man-pages-to-website.mdwn b/website/bugs/add-man-pages-to-website.mdwn new file mode 100644 index 0000000..4a8d2e2 --- /dev/null +++ b/website/bugs/add-man-pages-to-website.mdwn @@ -0,0 +1,12 @@ +[[meta title="Add man pages to web site"]] + +We should publish the various monkeysphere man pages in browsable form +somewhere under http://monkeysphere.info/. Ideally, this would be +updated automatically from the sources for the official man pages +themselves. + +This strikes me as an ikiwiki subproject (implementing a man2html wiki +compilation language perhaps?). + +Interestingly, [ikiwiki's own man page](http://ikiwiki.info/usage/) +appears to be written in markdown and then converted to nroff. -- cgit v1.2.3 From 59d3a09628ae2cbf90cd34265edb438728b40ea3 Mon Sep 17 00:00:00 2001 From: Jameson Graef Rollins Date: Mon, 18 Aug 2008 08:48:16 -0700 Subject: rewording but report. --- .../revoke-hostname-revoking-wrong-userid.mdwn | 26 +++++++++++----------- 1 file changed, 13 insertions(+), 13 deletions(-) (limited to 'website') diff --git a/website/bugs/revoke-hostname-revoking-wrong-userid.mdwn b/website/bugs/revoke-hostname-revoking-wrong-userid.mdwn index 847b613..f785a9d 100644 --- a/website/bugs/revoke-hostname-revoking-wrong-userid.mdwn +++ b/website/bugs/revoke-hostname-revoking-wrong-userid.mdwn @@ -76,19 +76,19 @@ seems to be doing it pretty consistently for me at the moment: Run 'monkeysphere-server publish-key' to publish the revocation. servo:~ 0$ -Clearly this is unacceptable. Because of more inadequacies in gpg, -you can't specify a uid to revoke from the command line. The uid -revokation requires an edit-key script, which we have used before, but -you have to specify by "number" which uid to revoke. We currently try -to guess the number from the ordering of the output of list-key. This -however is not always accurate. I don't have a good solution for a -fix at the moment. Suggestions are most welcome. It may just require -some trial and error with edit-key to come up with something workable. +Clearly this is unacceptable. gpg does not let you can't specify a +uid to revoke from the command line. The uid revokation can only be +done through edit-key. We do edit-key scripting in other contexts, +but to revoke a user id you have to specify the uid by "number". We +currently try to guess the number from the ordering of the output of +list-key. However, this output does not appear to coincide with the +ordering in edit-key. I don't have a good solution or fix at the +moment. Suggestions are most welcome. It may just require some trial +and error with edit-key to come up with something workable. -This underlines the problem that gpg sucks ass as a tool for -manipulating gpg keyrings non-interactively. This is a big problem. -We need something better that we can use. I would gladly rewrite -everything if there was a better tool out there, but I don't know of -one. +This underlines the problem that gpg is currently not very well suited +for manipulating gpg keyrings non-interactively. It's possible that I +just haven't figured out how to do it yet, but it's not very clear if +it is possible. It would be nice to have some alternate tools to use. -- Big Jimmy. -- cgit v1.2.3 From a1f164e814bb787ba4081ccdd18df9258d4831ed Mon Sep 17 00:00:00 2001 From: Daniel Kahn Gillmor Date: Mon, 18 Aug 2008 12:55:15 -0400 Subject: notes immediately after 0.8-1 release. --- doc/george/changelog | 6 ++++++ website/news/release-0.8-1.mdwn | 5 +++++ 2 files changed, 11 insertions(+) create mode 100644 website/news/release-0.8-1.mdwn (limited to 'website') diff --git a/doc/george/changelog b/doc/george/changelog index 7f1d5eb..2c32703 100644 --- a/doc/george/changelog +++ b/doc/george/changelog @@ -7,6 +7,12 @@ * changes to this system (first command at top, last at bottom) * ****************************************************************************** +2008-08-18 - dkg + * moved monkeysphere apt repo entry to + /etc/apt/sources.list.d/monkeysphere.list + * aptitude update && aptitude full-upgrade (including monkeysphere + 0.8-1) + 2008-08-16 - jrollins * removed stale branches from jrollins from the master repo * aptitude update && aptitude full-upgrade diff --git a/website/news/release-0.8-1.mdwn b/website/news/release-0.8-1.mdwn new file mode 100644 index 0000000..1ecdbe9 --- /dev/null +++ b/website/news/release-0.8-1.mdwn @@ -0,0 +1,5 @@ +[[meta title="MonkeySphere 0.7-1 released!"]] + +MonkeySphere 0.8-1 has been released. This release contains bugfixes, +some UI re-arrangement, and new features for `monkeysphere-server`, +among other things. [[download]] it now! -- cgit v1.2.3 From 0e12dd66f1d450d773c5e4403739371ef03860a8 Mon Sep 17 00:00:00 2001 From: Daniel Kahn Gillmor Date: Mon, 18 Aug 2008 12:56:19 -0400 Subject: fixing title of 0.8-1 release announcement. --- website/news/release-0.8-1.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'website') diff --git a/website/news/release-0.8-1.mdwn b/website/news/release-0.8-1.mdwn index 1ecdbe9..ed4ed7d 100644 --- a/website/news/release-0.8-1.mdwn +++ b/website/news/release-0.8-1.mdwn @@ -1,4 +1,4 @@ -[[meta title="MonkeySphere 0.7-1 released!"]] +[[meta title="MonkeySphere 0.8-1 released!"]] MonkeySphere 0.8-1 has been released. This release contains bugfixes, some UI re-arrangement, and new features for `monkeysphere-server`, -- cgit v1.2.3 From c5998e1bd287c1a57e9962f8d17a7431544a9ee2 Mon Sep 17 00:00:00 2001 From: Daniel Kahn Gillmor Date: Mon, 18 Aug 2008 15:47:36 -0400 Subject: release announcement for 0.9-1. --- website/news/release-0.9-1.mdwn | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 website/news/release-0.9-1.mdwn (limited to 'website') diff --git a/website/news/release-0.9-1.mdwn b/website/news/release-0.9-1.mdwn new file mode 100644 index 0000000..8a51f42 --- /dev/null +++ b/website/news/release-0.9-1.mdwn @@ -0,0 +1,8 @@ +[[meta title="MonkeySphere 0.9-1 released!"]] + +# MonkeySphere 0.9-1 released! # + +MonkeySphere 0.9-1 has been released. This release contains a serious +bugfix related to host key expiration, and provides the ability for +server administrators to extend the lifetime of their keys. +[[download]] it now! -- cgit v1.2.3