Adding HostKeyCallback to sshConfig. Fix command.
Added HostKeyCallback to sshConfig. Right now using the ssh.InsecureIgnoreHost() callback. This returns a function that in turn returns nil. Note: returning nil would result in acceptance of any host key. Hence, we need to change this to a callback of our own implementation. Fixed the command to run the throttling script. There were spacing issues. Also, using strings.Join(...) instead of adding spaces in the string (which is error prone).
This commit is contained in:
parent
1e2fae9f80
commit
b8f2248810
1 changed files with 5 additions and 1 deletions
|
@ -7,6 +7,7 @@ import (
|
|||
"github.com/pkg/errors"
|
||||
elekEnv "gitlab.com/spdf/elektron/environment"
|
||||
"golang.org/x/crypto/ssh"
|
||||
"strings"
|
||||
)
|
||||
|
||||
func Cap(host, username string, percentage float64) error {
|
||||
|
@ -21,6 +22,8 @@ func Cap(host, username string, percentage float64) error {
|
|||
// TODO: CHANGE and MAKE THIS USE SSH KEY!!!!
|
||||
ssh.Password(os.Getenv(elekEnv.RaplPassword)),
|
||||
},
|
||||
// TODO Do not allow accepting any host key.
|
||||
HostKeyCallback: ssh.InsecureIgnoreHostKey(),
|
||||
}
|
||||
|
||||
connection, err := ssh.Dial("tcp", host+":22", sshConfig)
|
||||
|
@ -34,7 +37,8 @@ func Cap(host, username string, percentage float64) error {
|
|||
return errors.Wrap(err, "Failed to create session")
|
||||
}
|
||||
|
||||
err = session.Run("sudo " + os.Getenv(elekEnv.RaplThrottleScriptLocation) + "/RAPL_PKG_Throttle.py" + strconv.FormatFloat(percentage, 'f', 2, 64))
|
||||
err = session.Run(strings.Join([]string{"sudo", os.Getenv(elekEnv.RaplThrottleScriptLocation),
|
||||
strconv.FormatFloat(percentage, 'f', 2, 64)}, " "))
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "Failed to run RAPL script")
|
||||
}
|
||||
|
|
Reference in a new issue