~nskaggs/+junk/xenial-test

« back to all changes in this revision

Viewing changes to src/github.com/juju/govmomi/govc/examples/lib/ssh.sh

  • Committer: Nicholas Skaggs
  • Date: 2016-10-24 20:56:05 UTC
  • Revision ID: nicholas.skaggs@canonical.com-20161024205605-z8lta0uvuhtxwzwl
Initi with beta15

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
function public-key {
 
2
  local dir=${HOME}/.ssh
 
3
 
 
4
  for f in $HOME/.ssh/{id_{rsa,dsa},*}.pub; do
 
5
    if [ -r $f ]; then
 
6
      echo $f
 
7
      return
 
8
    fi
 
9
  done
 
10
 
 
11
  echo "Can't find public key file..."
 
12
  exit 1
 
13
}
 
14
 
 
15
PUBLIC_KEY_FILE=${PUBLIC_KEY_FILE-$(public-key)}
 
16
SSH_OPTS="-oStrictHostKeyChecking=no -oUserKnownHostsFile=/dev/null -oLogLevel=quiet"
 
17
 
 
18
function upload-public-key {
 
19
  local vm_name=$1
 
20
  local dir=$2
 
21
 
 
22
  if [ -z "$dir" ]
 
23
  then
 
24
    uid=$(echo $GOVC_GUEST_LOGIN | awk -F: '{print $1}')
 
25
    dir=$(govc guest.getenv -vm ${vm_name} HOME | awk -F= '{print $2}')
 
26
 
 
27
    if [ -z "$dir" ]
 
28
    then
 
29
      echo "Can't find ${uid}'s HOME dir..."
 
30
      exit 1
 
31
    fi
 
32
  fi
 
33
 
 
34
  govc guest.mkdir \
 
35
       -vm ${vm_name} \
 
36
       -p \
 
37
       ${dir}/.ssh
 
38
 
 
39
  govc guest.upload \
 
40
       -vm ${vm_name} \
 
41
       -f \
 
42
       ${PUBLIC_KEY_FILE} \
 
43
       ${dir}/.ssh/authorized_keys
 
44
}