0
내가 뭐하는 거지 것은
exec.Command("ssh-keygen", "-f", "id_rsa", "-t", "rsa", "-P", "\"\"")
를 사용하여 golang 프로그램에서 SSH 키를 생성하는 것입니다하지만 출력은
exit status 1: Saving key "id_rsa" failed: passphrase is too short (minimum five characters)
터미널에서 명령을 실행하면 완벽하게 작동합니다.
Generating public/private rsa key pair.
Your identification has been saved in id_rsa.
Your public key has been saved in id_rsa.pub.
The key fingerprint is:
SHA256:HYixKOtEB42jAr+XNa9uQMZnvmLHa6Sirq+ietWaxzI [email protected]
The key's randomart image is:
+---[RSA 2048]----+
| .o . |
|. o... + . |
|.oooo o . . |
|o..++ = . . |
|. o+ B oS . |
| o. = + . |
| .o O o |
|. o E X |
|%*.o Xo. |
+----[SHA256]-----+
전체 코드는 다음과 같습니다
이exec.Command("ssh-keygen", "-f", "id_rsa", "-t", "rsa")
어떤 이유로 당신이해야하는 경우 :
package main
import (
"bytes"
"fmt"
"os/exec"
)
func main() {
cmd := exec.Command("ssh-keygen", "-f", "id_rsa", "-t", "rsa", "-P", "\"\"")
var out bytes.Buffer
var stderr bytes.Buffer
cmd.Stdout = &out
cmd.Stderr = &stderr
err := cmd.Run()
if err != nil {
fmt.Println(fmt.Sprint(err) + ": " + stderr.String())
return
}
fmt.Println("Result: " + out.String())
}
감사합니다. @VaneTrajkov. 완벽하게 작동합니다 :) –