Check key existence in the getPrivateSSHKey function

This commit is contained in:
shuheiktgw 2021-11-27 15:00:24 +09:00
parent db4a743b77
commit 79484ed7b6

View File

@ -103,8 +103,8 @@ func SSHNoSudo(host string, cmd ...string) (string, error) {
// runSSHCommand executes the ssh or scp command, adding the flag provided --ssh-options
func runSSHCommand(cmd string, args ...string) (string, error) {
if key := getPrivateSSHKey(); len(key) != 0 {
if _, err := os.Stat(key); err != nil {
if key, err := getPrivateSSHKey(); len(key) != 0 {
if err != nil {
klog.Errorf("private SSH key (%s) not found. Check if the SSH key is configured properly:, err: %v", key, err)
return "", fmt.Errorf("private SSH key (%s) does not exist", key)
}
@ -127,14 +127,22 @@ func runSSHCommand(cmd string, args ...string) (string, error) {
}
// getPrivateSSHKey returns the path to ssh private key
func getPrivateSSHKey() string {
func getPrivateSSHKey() (string, error) {
if *sshKey != "" {
return *sshKey
if _, err := os.Stat(*sshKey); err != nil {
return *sshKey, err
}
return *sshKey, nil
}
if key, found := sshDefaultKeyMap[*sshEnv]; found {
return key
if _, err := os.Stat(key); err != nil {
return key, err
}
return key, nil
}
return ""
return "", nil
}