From c5ec1348c39ffdf520d36616a4354d4e13b3f4e0 Mon Sep 17 00:00:00 2001 From: Clark Boylan Date: Fri, 18 Nov 2016 16:37:59 -0800 Subject: [PATCH] Fix runtime ssh host keys script The script is set -e and set -o pipefail, unfortauntely this intersects with `yes n`'s non zero exit code behavior when it receives an interrupt like sigpipe. As a result stop setting pipefail so that we treat those errors as "normal" and only fail if ssh-keygen fails. Change-Id: I5447df97c9888cae3007e235e2fea44df61af28e --- .../static/usr/local/sbin/runtime-ssh-host-keys.sh | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/elements/runtime-ssh-host-keys/static/usr/local/sbin/runtime-ssh-host-keys.sh b/elements/runtime-ssh-host-keys/static/usr/local/sbin/runtime-ssh-host-keys.sh index 4fa2374d..60757d3e 100755 --- a/elements/runtime-ssh-host-keys/static/usr/local/sbin/runtime-ssh-host-keys.sh +++ b/elements/runtime-ssh-host-keys/static/usr/local/sbin/runtime-ssh-host-keys.sh @@ -12,10 +12,9 @@ # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. -# dib-lint: disable=dibdebugtrace +# dib-lint: disable=dibdebugtrace setpipefail set -exu -set -o pipefail # We are running into race conditions with glean, which ssh-keygen -A is # not handling properly. So, create a new script to first check if the @@ -23,7 +22,7 @@ set -o pipefail for key in dsa ecdsa ed25519 rsa; do FILE=/etc/ssh/ssh_host_${key}_key - if ! [ -e $FILE ]; then + if ! [ -f $FILE ]; then /usr/bin/yes n | /usr/bin/ssh-keygen -f $FILE -N '' -t $key fi done