3 # Copyright 2017 Peter Palfrader
5 # Permission is hereby granted, free of charge, to any person obtaining
6 # a copy of this software and associated documentation files (the
7 # "Software"), to deal in the Software without restriction, including
8 # without limitation the rights to use, copy, modify, merge, publish,
9 # distribute, sublicense, and/or sell copies of the Software, and to
10 # permit persons to whom the Software is furnished to do so, subject to
11 # the following conditions:
13 # The above copyright notice and this permission notice shall be
14 # included in all copies or substantial portions of the Software.
16 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17 # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18 # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19 # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20 # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21 # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22 # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
28 CONFFILE=/etc/dsa/postgresql-backup/sshkeys-sources
29 OUTFILE=/etc/ssh/userkeys/debbackup
30 HEAD=/etc/dsa/postgresql-backup/sshkeys-manual
32 cat > "${OUTFILE}.new" << EOF
34 # This file was created using postgres-make-backup-sshauthkeys.
35 # Do not edit this manually but edit its sources and run the script (or let puppet run it for you).
39 if [ -e "$HEAD" ] ; then
40 echo "# $HEAD" >> "${OUTFILE}.new"
41 cat "$HEAD" >> "${OUTFILE}.new"
42 echo "# end of $HEAD" >> "${OUTFILE}.new"
43 echo "" >> "${OUTFILE}.new"
46 egrep -v '^(#|$)' "$CONFFILE" |
47 while read host ipaddr key; do
49 if [[ "$host" =~ [^a-z0-9A-Z_-] ]]; then
50 echo >&2 "Invalid hostname $host"
53 if [[ "$ipaddr" =~ [^0-9a-fA-F:.,] ]]; then
54 echo >&2 "Invalid ipaddr $ipaddr"
58 echo "command=\"/usr/local/bin/debbackup-ssh-wrap $host\",from=\"$ipaddr\",restrict $key" >> "${OUTFILE}.new"
61 mv "${OUTFILE}.new" ${OUTFILE}