From 0a4f91c84c096e0b0df2e5a1d42c38609ae7fa93 Mon Sep 17 00:00:00 2001 From: Scott Moser Date: Mon, 24 Sep 2012 14:40:41 -0400 Subject: send stderr from write-ssh-key-fingerprints to stdout This changes all output write-ssh-key-fingerprints to go to its stdout by redirecting stderr to stdout. The reason for this is that cc_keys_to_console.py was swallowing stderr and not replaying it to /dev/console. Ideally, we'd have a way in 'util.subp' to do effectively the same thing as we're doing here in the shell script. LP: #1055688 --- tools/write-ssh-key-fingerprints | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'tools/write-ssh-key-fingerprints') diff --git a/tools/write-ssh-key-fingerprints b/tools/write-ssh-key-fingerprints index 5723c989..130fc0c1 100755 --- a/tools/write-ssh-key-fingerprints +++ b/tools/write-ssh-key-fingerprints @@ -1,4 +1,5 @@ #!/bin/sh +exec 2>&1 fp_blist=",${1}," key_blist=",${2}," { @@ -15,8 +16,6 @@ done echo "-----END SSH HOST KEY FINGERPRINTS-----" echo "#############################################################" -} | logger -p user.info -s -t "ec2" - echo -----BEGIN SSH HOST KEY KEYS----- for f in /etc/ssh/ssh_host_*key.pub; do [ -f "$f" ] || continue @@ -26,3 +25,5 @@ for f in /etc/ssh/ssh_host_*key.pub; do cat $f done echo -----END SSH HOST KEY KEYS----- + +} | logger -p user.info --stderr -t "ec2" -- cgit v1.2.3 From ad22d407085009dcd1c860185e29f21858cdd968 Mon Sep 17 00:00:00 2001 From: Scott Moser Date: Mon, 24 Sep 2012 14:48:44 -0400 Subject: write-ssh-key-fingerprints: do not send HOST KEYS through logger In the previous commit to htis file I had wrapped the writing of 'BEGIN SSH HOST KEY KEYS' to go through logger. This would cause the keys to be prefixed with 'ec2:' which, previously they were not. That would break existing users *and* make it more difficult to consume that data, which was explicitly added to be easy to consume. --- tools/write-ssh-key-fingerprints | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'tools/write-ssh-key-fingerprints') diff --git a/tools/write-ssh-key-fingerprints b/tools/write-ssh-key-fingerprints index 130fc0c1..aa1f3c38 100755 --- a/tools/write-ssh-key-fingerprints +++ b/tools/write-ssh-key-fingerprints @@ -16,6 +16,8 @@ done echo "-----END SSH HOST KEY FINGERPRINTS-----" echo "#############################################################" +} | logger -p user.info --stderr -t "ec2" + echo -----BEGIN SSH HOST KEY KEYS----- for f in /etc/ssh/ssh_host_*key.pub; do [ -f "$f" ] || continue @@ -25,5 +27,3 @@ for f in /etc/ssh/ssh_host_*key.pub; do cat $f done echo -----END SSH HOST KEY KEYS----- - -} | logger -p user.info --stderr -t "ec2" -- cgit v1.2.3 From 52a1884822ecb9474e12e6c16b62dbd0728a4a0e Mon Sep 17 00:00:00 2001 From: Joshua Harlow Date: Wed, 28 Nov 2012 10:41:42 -0800 Subject: Check for running inside RHEL and adjust the logging options. It seems like at least RHEL does not have the "--stderr" option but instead only supports the short version "-s" so add a check that will switch from the long version to the short version when RHEL is detected. LP: #1083715 --- tools/write-ssh-key-fingerprints | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) (limited to 'tools/write-ssh-key-fingerprints') diff --git a/tools/write-ssh-key-fingerprints b/tools/write-ssh-key-fingerprints index aa1f3c38..d69c7fcc 100755 --- a/tools/write-ssh-key-fingerprints +++ b/tools/write-ssh-key-fingerprints @@ -1,5 +1,18 @@ #!/bin/sh + +logger_opts="-p user.info -t ec2" + +if [ -f "/etc/redhat-release" ] +then + # Seems like rhel only supports the short version + logger_opts="$logger_opts -s" +else + logger_opts="$logger_opts --stderr" +fi + +# Redirect stderr to stdout exec 2>&1 + fp_blist=",${1}," key_blist=",${2}," { @@ -16,9 +29,9 @@ done echo "-----END SSH HOST KEY FINGERPRINTS-----" echo "#############################################################" -} | logger -p user.info --stderr -t "ec2" +} | logger $logger_opts -echo -----BEGIN SSH HOST KEY KEYS----- +echo "-----BEGIN SSH HOST KEY KEYS-----" for f in /etc/ssh/ssh_host_*key.pub; do [ -f "$f" ] || continue read ktype line < "$f" @@ -26,4 +39,4 @@ for f in /etc/ssh/ssh_host_*key.pub; do [ "${key_blist#*,$ktype,}" = "${key_blist}" ] || continue cat $f done -echo -----END SSH HOST KEY KEYS----- +echo "-----END SSH HOST KEY KEYS-----" -- cgit v1.2.3 From 75d991b2e807d8bf26a2b94791870b86c43a1c96 Mon Sep 17 00:00:00 2001 From: Scott Moser Date: Tue, 4 Dec 2012 10:04:14 -0500 Subject: replace if..else based on presense of /etc/redhat-release with use of -s instead of using '--stderr' on non-rhel based on the presense of /etc/redhat-release, just use the short form '-s' everywhere. --- tools/write-ssh-key-fingerprints | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) (limited to 'tools/write-ssh-key-fingerprints') diff --git a/tools/write-ssh-key-fingerprints b/tools/write-ssh-key-fingerprints index d69c7fcc..6c3451fd 100755 --- a/tools/write-ssh-key-fingerprints +++ b/tools/write-ssh-key-fingerprints @@ -2,13 +2,9 @@ logger_opts="-p user.info -t ec2" -if [ -f "/etc/redhat-release" ] -then - # Seems like rhel only supports the short version - logger_opts="$logger_opts -s" -else - logger_opts="$logger_opts --stderr" -fi +# rhels' version of logger_opts does not support long +# for of -s (--stderr), so use short form. +logger_opts="$logger_opts -s" # Redirect stderr to stdout exec 2>&1 -- cgit v1.2.3