第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

GoLang:給定公共 RSA 密鑰的 ssh 客戶端配置

GoLang:給定公共 RSA 密鑰的 ssh 客戶端配置

Go
動(dòng)漫人物 2023-03-07 17:13:02
我需要在給定公共 RSA 密鑰的情況下啟動(dòng)到遠(yuǎn)程主機(jī)的 ssh 連接。我到目前為止的代碼如下func sftpClient(host, port, user, pass string) (*sftp.Client, error) {    var authMethod ssh.AuthMethod    if strings.Index(pass, "-----BEGIN RSA PRIVATE KEY-----") == 0 {        signer, err := ssh.ParsePrivateKey([]byte(pass))        if err != nil {            return nil, err        }        authMethod = ssh.PublicKeys(signer)    } else if strings.Index(pass, "---- BEGIN SSH2 PUBLIC KEY ----") == 0 {        publicKey, err := ssh.ParsePublicKey([]byte(pass))        if err != nil {            return nil, err        }        authMethod = ???    } else {        authMethod = ssh.Password(pass)    }    config := &ssh.ClientConfig{        User:            user,        Auth:            []ssh.AuthMethod{authMethod},        HostKeyCallback: ssh.InsecureIgnoreHostKey(),        Config: ssh.Config{            Ciphers: []string{                // some ciphers here            },        },    }    conn, err := ssh.Dial("tcp", host+":"+port, config)    if err != nil {        return nil, err    }    client, err := sftp.NewClient(conn)    if err != nil {        return nil, err    }    return client, nil}基于密碼的身份驗(yàn)證和基于私鑰的身份驗(yàn)證工作得很好,因?yàn)?ssh 庫(kù)提供了這些包裝器(ssh.Password并且ssh.PublicKeys創(chuàng)建了某種包裝器AuthMethod)。我沒有嘗試很多,因?yàn)槲艺也坏胶芏噙x擇:authMethod = ssh.NewPublicKey(publicKey)authMethod = publicKey它們都不起作用。我還嘗試使用不同的方法解析公鑰,但這也失敗了。我使用的方法是ssh.ParseAuthorizedKey這個(gè) - 類似于ss.ParsePublicKeyreturn aPublicKey顯然不能用作身份驗(yàn)證方法。所以我的問題是:如何使用給定的公共RSA 密鑰在 Go 上啟動(dòng) ssh 客戶端?
查看完整描述

1 回答

?
繁星點(diǎn)點(diǎn)滴滴

TA貢獻(xiàn)1803條經(jīng)驗(yàn) 獲得超3個(gè)贊

如何使用給定的公共 RSA 密鑰在 Go 上啟動(dòng) ssh 客戶端?

您不能使用公鑰來驗(yàn)證 ssh 客戶端。您將公鑰提供給服務(wù)器,然后客戶端使用私鑰進(jìn)行身份驗(yàn)證。

ssh key認(rèn)證的價(jià)值在于私鑰永遠(yuǎn)不會(huì)離開系統(tǒng);無需通過電線傳輸任何敏感信息。


查看完整回答
反對(duì) 回復(fù) 2023-03-07
  • 1 回答
  • 0 關(guān)注
  • 303 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)