From 925644cc7c7e6761566a4059ac9ed9987653931e Mon Sep 17 00:00:00 2001 From: Peter Amstutz Date: Fri, 31 Aug 2018 16:11:12 -0400 Subject: [PATCH] 13964: Trim space Arvados-DCO-1.1-Signed-off-by: Peter Amstutz --- lib/dispatchcloud/azure.go | 42 +++++++++++++++++++++----------------- 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/lib/dispatchcloud/azure.go b/lib/dispatchcloud/azure.go index 378e8bea39..28efe4f5c9 100644 --- a/lib/dispatchcloud/azure.go +++ b/lib/dispatchcloud/azure.go @@ -608,35 +608,39 @@ func (ai *AzureInstance) VerifyPublicKey(ctx context.Context, receivedKey ssh.Pu return err } - nodetoken, err := sess.Output("cat /home/crunch/node-token") + nodetokenbytes, err := sess.Output("cat /home/crunch/node-token") if err != nil { return err } + nodetoken := strings.TrimSpace(string(nodetokenbytes)) + expectedToken := fmt.Sprintf("%s-%s", *ai.vm.Name, tags["node-token"]) - log.Printf("%q %q", string(nodetoken), expectedToken) + log.Printf("%q %q", nodetoken, expectedToken) - if string(nodetoken) == expectedToken { - sess, err := client.NewSession() - if err != nil { - return err - } + if strings.TrimSpace(nodetoken) != expectedToken { + return fmt.Errorf("Node token did not match") + } - keyfingerprintbytes, err := sess.Output("ssh-keygen -E sha256 -l -f /etc/ssh/ssh_host_rsa_key.pub") - if err != nil { - return err - } + sess, err = client.NewSession() + if err != nil { + return err + } + + keyfingerprintbytes, err := sess.Output("ssh-keygen -E sha256 -l -f /etc/ssh/ssh_host_rsa_key.pub") + if err != nil { + return err + } - sp := strings.Split(string(keyfingerprintbytes), " ") + sp := strings.Split(string(keyfingerprintbytes), " ") - log.Printf("%q %q", remoteFingerprint, sp[1]) + log.Printf("%q %q", remoteFingerprint, sp[1]) - if remoteFingerprint == sp[1] { - tags["ssh-pubkey-fingerprint"] = sp[1] - ai.SetTags(ctx, tags) - return nil - } + if remoteFingerprint != sp[1] { + return fmt.Errorf("Key fingerprint did not match") } - return fmt.Errorf("Key fingerprint did not match") + tags["ssh-pubkey-fingerprint"] = sp[1] + ai.SetTags(ctx, tags) + return nil } -- 2.30.2