如何在Net :: sftp的Rails中使用RSA专用RSA密钥文件

问题描述 投票:0回答:1

我正在尝试与我的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-----

一切正常。

但是我想使用新的私钥。此代码有什么问题?有没有一种方法可以指定要使用的私钥文件的类型?

ruby-on-rails azure rsa private-key net-sftp
1个回答
0
投票

执行此操作:

在此操作调用之前,请检查private_key变量是否包含-----BEGIN OPENSSH PRIVATE KEY-----行。如果不是这样,则将其放在private_key变量之前,或者简而言之,将private_key设为您的start方法接受的格式。

© www.soinside.com 2019 - 2024. All rights reserved.