RFC: ssh-copy-id tweaks
Ben Lindstrom
mouring at eviladmin.org
Wed Feb 6 03:52:13 EST 2008
Geesh, I knew a better solution would be more complex, but this is
starting to be scary. =)
In some respects it is sad that VanDyke's proposed key management RFC has
stalled (or was stalled last I checked).
I'd almost advocate looking at this from another direction and seeing if
ssh-agent or some other tool leveraging the openssh base code for testing
and validating these things. Just I doubt it would be cleaner any other
way.
- Ben
On Tue, 5 Feb 2008, Jim Knoble wrote:
> Circa 2008-02-02 00:50 dixit Jim Knoble:
>
> : I'm working on a rewrite of ssh-copy-id
>
> The (nearly complete) rewrite of ssh-copy-id is available:
>
> http://www.jmknoble.net/openssh/ssh-copy-id
>
> Differences from prior ssh-copy-id:
>
> (1) Searches for identities in the following order:
>
> [identities in ssh-agent]
> ~/.ssh/id_rsa.pub
> ~/.ssh/id_dsa.pub
> ~/.ssh/identity.pub
>
> Copies the first one available (more than one if ssh-agent has
> multiple identities loaded, see below).
>
> (2) Old ssh-copy-id overloaded two meanings onto the '-i' switch:
>
> (a) "Don't look for identities in ssh-agent"
> (b) "Use this identity file over here"
>
> [a] above has moved from '-i' (with no arguments) to '-A'.
> [b] above remains at '-i' (with an argument). See the help
> (available with 'ssh-copy-id --help').
>
> (3) Allows one to use an alternate "dot-ssh" directory on the local
> host, by setting the SSH_DIR environment variable to the path to
> a directory. Equivalent functionality on the remote side is not
> yet available.
>
> (4) Most importantly (it's what initiated this whole thread), only
> adds an identity to ~/.ssh/authorized_keys on the remote host if
> the public key isn't already present in some form.
>
> (5) It's more complex. In order to be smart enough about how we do
> [4], we use awk, which may be present on the remote host as
> 'gawk', 'mawk', 'nawk', or 'awk'. We look for them, in that
> order, on the PATH. You can correct the limited search used by
> setting the REMOTE_AWK environment variable to the path to the
> remote system's awk ('env REMOTE_AWK=/usr/bin/awk ssh-copy-id').
>
> (6) It executes commands on the remote host using 'sh'. I believe
> it to be portable to situations where the remote user's shell is
> csh or tcsh, but i could be mistaken. Please test that.
>
> I'm a little worried about command-line length; the 'ssh' command has
> gotten somewhat long. Feedback about that would be handy as well.
>
> --
> jim knoble | jmknoble at pobox.com | http://www.pobox.com/~jmknoble/
> (GnuPG key ID: 6F39C2CC >>>>>> http://www.pobox.com/~jmknoble/keys/ )
> (GnuPG fingerprint: 5024:D578:7CF4:5660:7269::F6F3:B919:9307:6F39:C2CC)
> +----------------------------------------------------------------------+
> |[L]iberty, as we all know, cannot flourish in a country that is perma-|
> | nently on a war footing, or even a near-war footing. --Aldous Huxley|
> +----------------------------------------------------------------------+
>
More information about the openssh-unix-dev
mailing list