Ruby   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了使用Ruby和net-ssh,如何使用Net :: SSH.start中的key_data参数进行身份验证?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经阅读了net-ssh文档,我仍然感到困惑.我可以手动验证(使用ssh -i …),也可以将密钥放在文件中并使用:keys参数.但是,我不想使用:keys参数,我想使用:key_data参数.谁能举一个有效的例子?由于某种原因,直接将字符串输入:key_data不起作用,并且它给出错误:“既不是PUB键也不是PRIV键::嵌套asn1错误”.当然我用Google搜索了,它基本上告诉我要确保密钥是PEM格式的.而且,当然是.有任何想法吗?如果需要,我可以提供更详细的信息……

解决方法

我看到这个问题已经很老了,但无论如何我都会把答案给你,以防万一我遇到同样的问题,我就解决了.

在下面的代码中,请注意包含RSA密钥的字符串在任何地方都没有缩进.键的第二行没有任何前导空格.当我粘贴密钥时,TextMate把它放在那里.我删除它,它就像一个魅力.

#!/usr/bin/env ruby
require 'rubygems'
require 'net/ssh'

HOST = '172.20.0.31'
USER = 'root'

KEYS = [ "-----BEGIN RSA PRIVATE KEY-----
MIIEogIBAAKCAQEAqccvUza8FCinI4X8HSiXwIqQN6TGvcNBJnjPqGJxlstq1IfU
kFa3S9eJl+CBkyjfvJ5ggdLN0S2EuGWwc/bdE3LKOWX8F15tFP0=
-----END RSA PRIVATE KEY-----" ]

Net::SSH.start( HOST,USER,:key_data => KEYS,:keys_only => TRUE) do|ssh|
result = ssh.exec!('ls')
puts result
end

大佬总结

以上是大佬教程为你收集整理的使用Ruby和net-ssh,如何使用Net :: SSH.start中的key_data参数进行身份验证?全部内容,希望文章能够帮你解决使用Ruby和net-ssh,如何使用Net :: SSH.start中的key_data参数进行身份验证?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。