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
34 if [ -e "$HEAD" ] ; then
35 echo "# $HEAD" >> "${OUTFILE}.new"
36 cat "$HEAD" >> "${OUTFILE}.new"
37 echo "# end of $HEAD" >> "${OUTFILE}.new"
38 echo "" >> "${OUTFILE}.new"
41 egrep -v '^(#|$)' "$CONFFILE" |
42 while read host ipaddr key; do
44 if [[ "$host" =~ [^a-z0-9A-Z_-] ]]; then
45 echo >&2 "Invalid hostname $host"
48 if [[ "$ipaddr" =~ [^0-9a-fA-F:.,] ]]; then
49 echo >&2 "Invalid ipaddr $ipaddr"
53 echo "command=\"/usr/local/bin/debbackup-ssh-wrap $host\",from=\"$ipaddr\",restrict $key" >> "${OUTFILE}.new"
56 mv "${OUTFILE}.new" ${OUTFILE}