mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 03:41:45 +00:00
Merge pull request #106621 from shuheiktgw/check_private_ssh_key_existence
Check the private SSH key existence in the node e2e tests
This commit is contained in:
commit
2b0ddeb23b
@ -103,9 +103,12 @@ 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 *sshKey != "" {
|
||||
args = append([]string{"-i", *sshKey}, args...)
|
||||
} else if key, found := sshDefaultKeyMap[*sshEnv]; found {
|
||||
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)
|
||||
}
|
||||
|
||||
args = append([]string{"-i", key}, args...)
|
||||
}
|
||||
if env, found := sshOptionsMap[*sshEnv]; found {
|
||||
@ -122,3 +125,24 @@ func runSSHCommand(cmd string, args ...string) (string, error) {
|
||||
}
|
||||
return string(output), nil
|
||||
}
|
||||
|
||||
// getPrivateSSHKey returns the path to ssh private key
|
||||
func getPrivateSSHKey() (string, error) {
|
||||
if *sshKey != "" {
|
||||
if _, err := os.Stat(*sshKey); err != nil {
|
||||
return *sshKey, err
|
||||
}
|
||||
|
||||
return *sshKey, nil
|
||||
}
|
||||
|
||||
if key, found := sshDefaultKeyMap[*sshEnv]; found {
|
||||
if _, err := os.Stat(key); err != nil {
|
||||
return key, err
|
||||
}
|
||||
|
||||
return key, nil
|
||||
}
|
||||
|
||||
return "", nil
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user