diff options
author | Damien Miller <djm@mindrot.org> | 2000-03-15 12:13:01 +1100 |
---|---|---|
committer | Damien Miller <djm@mindrot.org> | 2000-03-15 12:13:01 +1100 |
commit | 8b1c22b7758511461b359461926e47b093a349d3 (patch) | |
tree | 482ba5094683dac130413f7c2d4971e9b2a31761 /contrib/ssh-copy-id | |
parent | f09b07a971f64cf69f2c45a364c3d56559f7c1c3 (diff) |
- Created contrib/ subdirectory. Included helpers from Phil Hands'
Debian package, README file and chroot patch from Ricardo Cerqueira
<rmcc@clix.pt>
- Moved gnome-ssh-askpass.c to contrib directory and reomved config
option.
- Slight cleanup to doc files
Diffstat (limited to 'contrib/ssh-copy-id')
-rw-r--r-- | contrib/ssh-copy-id | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/contrib/ssh-copy-id b/contrib/ssh-copy-id new file mode 100644 index 000000000..0ab37cae4 --- /dev/null +++ b/contrib/ssh-copy-id | |||
@@ -0,0 +1,45 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | # Shell script to install your identity.pub on a remote machine | ||
4 | # Takes the remote machine name as an argument. | ||
5 | # Obviously, the remote machine must accept password authentication, | ||
6 | # or one of the other keys in your ssh-agent, for this to work. | ||
7 | |||
8 | ID_FILE="${HOME}/.ssh/identity.pub" | ||
9 | |||
10 | if [ "-i" = "$1" ]; then | ||
11 | shift | ||
12 | # check if we have 2 parameters left, if so the first is the new ID file | ||
13 | if [ -n "$2" ]; then | ||
14 | if expr "$1" : ".*\.pub" ; then | ||
15 | ID_FILE="$1" | ||
16 | else | ||
17 | ID_FILE="$1.pub" | ||
18 | fi | ||
19 | shift # and this should leave $1 as the target name | ||
20 | fi | ||
21 | else | ||
22 | if [ x$SSH_AUTH_SOCK != x ] ; then | ||
23 | GET_ID="$GET_ID ssh-add -L" | ||
24 | fi | ||
25 | fi | ||
26 | |||
27 | if [ -z "`eval $GET_ID`" -a -r "${ID_FILE}" ] ; then | ||
28 | GET_ID="cat ${ID_FILE}" | ||
29 | fi | ||
30 | |||
31 | if [ -z "`eval $GET_ID`" ]; then | ||
32 | echo "$0: ERROR: No identities found" | ||
33 | exit 1 | ||
34 | fi | ||
35 | |||
36 | { eval "$GET_ID" ; } | ssh $1 "test -d .ssh || mkdir .ssh ; cat >> .ssh/authorized_keys ; chmod g-w . .ssh .ssh/authorized_keys" | ||
37 | |||
38 | cat <<EOF | ||
39 | Now try logging into the machine, with "ssh '$1'", and check in: | ||
40 | |||
41 | .ssh/authorized_keys | ||
42 | |||
43 | to make sure we haven't added extra keys that you weren't expecting. | ||
44 | |||
45 | EOF | ||