source: hybrid/branches/releng-9/nanobsd/files/usr/local/bin/ssh-copy-id@ 12908

Last change on this file since 12908 was 12908, checked in by rick, 11 years ago

This nastly hack will make sure that the WL portal behind thttpd does not get overloaded by too many requests, causing memory starvetion which kills other processes, since it is not running in protected mode.

  • Property svn:executable set to *
File size: 1.3 KB
Line 
1#!/bin/sh
2
3# Shell script to install your public key 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
8ID_FILE="${HOME}/.ssh/id_rsa.pub"
9
10if [ "-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" >/dev/null; 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
21else
22 if [ x$SSH_AUTH_SOCK != x ] && ssh-add -L >/dev/null 2>&1; then
23 GET_ID="$GET_ID ssh-add -L"
24 fi
25fi
26
27if [ -z "`eval $GET_ID`" ] && [ -r "${ID_FILE}" ] ; then
28 GET_ID="cat ${ID_FILE}"
29fi
30
31if [ -z "`eval $GET_ID`" ]; then
32 echo "$0: ERROR: No identities found" >&2
33 exit 1
34fi
35
36if [ "$#" -lt 1 ] || [ "$1" = "-h" ] || [ "$1" = "--help" ]; then
37 echo "Usage: $0 [-i [identity_file]] [user@]machine" >&2
38 exit 1
39fi
40
41{ eval "$GET_ID" ; } | ssh $1 "umask 077; test -d .ssh || mkdir .ssh ; cat >> .ssh/authorized_keys" || exit 1
42
43cat <<EOF
44Now try logging into the machine, with "ssh '$1'", and check in:
45
46 .ssh/authorized_keys
47
48to make sure we haven't added extra keys that you weren't expecting.
49
50EOF
Note: See TracBrowser for help on using the repository browser.