Some cleanup.

This commit is contained in:
rony5394
2026-05-25 15:39:14 +02:00
parent ef37f17378
commit 0f316e8149
7 changed files with 64 additions and 36 deletions

View File

@@ -1,9 +1,11 @@
package shared
package shared
import (
"crypto/ed25519"
"crypto/rand"
"encoding/pem"
"log/slog"
"os"
"golang.org/x/crypto/ssh"
)
@@ -16,19 +18,22 @@ type Keypair struct {
func GenerateSSHKeypair() Keypair {
publicKey, privateKey, err := ed25519.GenerateKey(rand.Reader)
if err != nil {
panic(err)
slog.Error("Failed to generate an ssh keypair.", slog.Any("propagatedError", err));
os.Exit(42);
}
privBlock, err := ssh.MarshalPrivateKey(privateKey, "")
if err != nil {
panic(err)
slog.Error("Failed to marshal private key", slog.Any("propagatedError", err));
os.Exit(42);
}
privPem := pem.EncodeToMemory(privBlock)
sshPubKey, err := ssh.NewPublicKey(publicKey)
if err != nil {
panic(err)
slog.Error("Failed deriving public ssh key from a private one.", slog.Any("propagatedError", err));
os.Exit(42);
}
pubBytes := ssh.MarshalAuthorizedKey(sshPubKey)