Jeff Schroeder wrote: > On Fri, Feb 6, 2009 at 11:01 AM, Michael DeHaan <[email protected]> wrote: > >> [email protected] wrote: >> >>> From: Jeff Schroeder <[email protected]> >>> >>> The original idea is from Garrick Staples @ USC. My implementation is >>> designed to work on crazy raid controllers like in HP servers that show >>> /dev/cciss/c0d0 or normal servers that show /dev/sda. This assumes that >>> the list-harddrives command is available. It is part of anaconda and >>> might not be available on SUSE or other non Redhat based distributions. >>> >>> Signed-off-by: Jeff Schroeder <[email protected]> >>> --- >>> snippets/keep_ssh_host_keys | 44 >>> +++++++++++++++++++++++++++++++++++++++++++ >>> 1 files changed, 44 insertions(+), 0 deletions(-) >>> create mode 100644 snippets/keep_ssh_host_keys >>> >>> diff --git a/snippets/keep_ssh_host_keys b/snippets/keep_ssh_host_keys >>> new file mode 100644 >>> index 0000000..93a6fad >>> --- /dev/null >>> +++ b/snippets/keep_ssh_host_keys >>> @@ -0,0 +1,44 @@ >>> +#raw >>> +# Nifty trick to restore ssh keys without using a nochroot %post >>> + >>> +echo "Saving ssh host keys..." > /dev/ttyS0 >>> + >>> +keys_found=no >>> + >>> +insmod /lib/jbd.o >>> +insmod /lib/ext3.o >>> + >>> +drives=$(list-harddrives | awk '{print $1}') >>> +for disk in $drives; do >>> + DISKS="$DISKS $(fdisk -l /dev/$disk | awk '/^\/dev/{print $1}')" >>> +done >>> + >>> +for disk in $DISKS; do >>> + name=$(basename $disk) >>> + mkdir -p /tmp/$name /tmp/ssh >>> + mount $disk /tmp/$name >>> + [ $? -eq 0 ] || continue # Skip to the next partition if the mount >>> fails >>> + >>> + # Copy current ssh host keys out to be reused >>> + if [ -d /tmp/${name}/etc/ssh ]; then >>> + cp -a /tmp/${name}/etc/ssh/ssh_host* /tmp/ssh >>> + keys_found="yes" >>> + umount /tmp/$name >>> + break >>> + fi >>> + umount /tmp/$name >>> + rm -r /tmp/$name >>> +done >>> + >>> +# Loop until the ssh rpm is installed >>> +if [ "$keys_found" = "yes" ]; then >>> + while : ; do >>> + sleep 10 >>> + if [ -d /mnt/sysimage/etc/ssh ] ; then >>> + cp -f /tmp/ssh/ssh_host* /mnt/sysimage/etc/ssh/ >>> + logger "SSH-HOST-KEY copied to newly installed system" >>> + break >>> + fi >>> + done & >>> +fi >>> +#end >>> >>> >> Applied to devel, thanks! >> > > Perhaps my git-foo is lacking or something is missing :) >
Really? Check git. _______________________________________________ cobbler mailing list [email protected] https://fedorahosted.org/mailman/listinfo/cobbler
