簡體   English   中英

如何在 ruby​​ on rails 中的 Net::sftp 中使用 PRIVATE RSA 密鑰文件

[英]How to use PRIVATE RSA key file in Net::sftp in ruby on rails

我正在嘗試與我的 azure 存儲建立 sftp 連接。 我有一個以開頭的私鑰文件

private_key = '-----BEGIN RSA PRIVATE KEY-----\nMnx......'

使用這個private_key,我嘗試建立像

Net::SFTP.start('<remote-ip>', 'username', 
        :password => 'password', 
        :key_data => [ private_key ],
        keys_only: true,
        verify_host_key: :never) do |sftp|
          data = sftp.download!("/somefile.txt")
          p data

end

當我嘗試使用此密鑰文件時,出現類似

#<OpenSSL::PKey::PKeyError: Could not parse PKey: no start line>

但是,當我使用以以下格式開頭的密鑰文件時

-----BEGIN OPENSSH PRIVATE KEY-----

一切正常。

但我想使用新的私鑰。 這段代碼會有什么問題? 有沒有辦法指定要使用的私鑰文件的類型?

做這個:

在此操作調用之前,檢查private_key變量是否包含-----BEGIN OPENSSH PRIVATE KEY-----行。 如果沒有,則將其添加到 private_key 變量或簡而言之將 private_key 帶入您的 start 方法接受的格式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM