我正在尝试与我的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方法接受的格式。