diff --git a/sshpiperd/upstream/database/handler.go b/sshpiperd/upstream/database/handler.go index 8c2dbcd4..bee0388f 100644 --- a/sshpiperd/upstream/database/handler.go +++ b/sshpiperd/upstream/database/handler.go @@ -60,7 +60,8 @@ func (p *plugin) findUpstream(conn ssh.ConnMetadata, challengeContext ssh.Additi if bytes.Equal(publicKey.Marshal(), expectKey) { - signer, err := ssh.ParsePrivateKey([]byte(d.Upstream.PrivateKey.Key.Data)) + kinterf, err := ssh.ParseRawPrivateKey([]byte(d.Upstream.PrivateKey.Key.Data)) + signer, err := ssh.NewSignerFromKey(kinterf) if err != nil || signer == nil { break diff --git a/sshpiperd/upstream/database/model.go b/sshpiperd/upstream/database/model.go index 8da8beda..e7bf63d6 100644 --- a/sshpiperd/upstream/database/model.go +++ b/sshpiperd/upstream/database/model.go @@ -18,7 +18,7 @@ type keydata struct { gorm.Model Name string `gorm:"type:varchar(45)"` - Data string `gorm:"type:varchar(3000)"` + Data string `gorm:"type:text"` Type string `gorm:"type:varchar(45)"` }