我试图在go服务中将ssh.PublicKey对象转换为ssh rsa字符串,我想通过网络将其发送到其他服务,这些服务将使用提供的公钥授权此请求。为此,我需要像下面这样的授权服务开放SSH格式的确切RSA字符串
ssh-rsa <pubkey> <comment>
我尝试了这个fmt.Println(base64.StdEncoding.EncodeToString(key.Marshal()))
,但它截断了注解部分,从而导致了授权问题。
在进行相等性检查时,我应该忽略auth服务中的注解吗?
1条答案
按热度按时间zpgglvta1#
我认为最好使用
ssh.MarshalAuthorizedKey
来生成所需格式的字符串!在您的授权服务中,当将接收到的公钥与存储的公钥进行比较时,如果注解部分与您的授权逻辑无关,则可以忽略注解部分,因为公钥本身应该足以进行比较!