3 # autofs(5) executable map for /var/pl_sshd/keys/
5 # Mark Huang <mlhuang@cs.princeton.edu>
6 # Copyright (C) 2004 The Trustees of Princeton University
8 # $Id: auto.pl_sshd,v 1.3 2004/10/04 22:20:11 mlhuang Exp $
13 echo "usage: $0 slice" >/dev/stderr
20 # Try real home directory first
22 if [ -f "$home/.ssh/authorized_keys" ] ; then
23 echo "--bind,-r :$home/.ssh"
27 # Try virtual server home directory next
28 vbase=/vservers/$slice
29 keyfile=/home/$slice/.ssh/authorized_keys
31 echo -n "Retrieving SSH keys for $slice... " >/dev/stderr
36 "http://localhost:815/keys?slice=$slice"`
39 if [ "$rc" -ne 0 ] ; then
40 echo "curl failed with error $rc." >/dev/stderr
44 # write the keyfile while running as the slice user, this prevents
45 # various potential exploits
46 su - $slice >/dev/null 2>&1 <<EOF
47 install -d -m 700 ${keyfile%/*}
50 echo $keydata >$keyfile
53 if [ "`cat $vbase$keyfile 2>/dev/null`" != "$keydata" ]; then
54 echo "unable to write $vbase$keyfile." >/dev/stderr
58 echo "succeeded." >/dev/stderr
60 echo "--bind,-r :$vbase/home/$slice/.ssh"