SSH登录支持Passphrase

This commit is contained in:
刘祥超
2021-11-06 15:31:01 +08:00
parent 144b9b9519
commit 344ef4d597
8 changed files with 32 additions and 9 deletions

View File

@@ -59,7 +59,13 @@ func (this *BaseInstaller) Login(credentials *Credentials) error {
methods = append(methods, authMethod)
}
} else if credentials.Method == "privateKey" {
signer, err := ssh.ParsePrivateKey([]byte(credentials.PrivateKey))
var signer ssh.Signer
var err error
if len(credentials.Passphrase) > 0 {
signer, err = ssh.ParsePrivateKeyWithPassphrase([]byte(credentials.PrivateKey), []byte(credentials.Passphrase))
} else {
signer, err = ssh.ParsePrivateKey([]byte(credentials.PrivateKey))
}
if err != nil {
return errors.New("parse private key: " + err.Error())
}