python – Paramiko:从公钥字符串创建一个PKey
作者:互联网
我试图在低级别使用SSH协议(即我不想启动shell或任何东西,我只想传递数据).因此,我直接使用Paramiko的Transport
课程.
我已经完成了服务器端,但现在我正在用愚蠢的东西撞墙.对于客户端连接到服务器,Transport的connect
method将两个PKey
对象作为参数:客户端的私钥(pkey)和服务器的公钥(hostkey).
PKey
类被描述为“公钥的基类”.然而问题是我无法弄清楚如何用ssh公钥创建这样的PKey
对象(即字符串ssh-无论是AAblablabla).它有从私钥构建这样一个对象的方法,但显然我不希望客户端知道服务器的私钥.
我觉得我忽视了一些简单的事情,但我无法在网上找到这样做的信息;大多数教程都使用更高级别的SSHClient
class加载系统的known_hosts键.
解决方法:
不得不在另一个不仅仅用于密钥比较的上下文中解决这个问题(它用于签名检查).这是正确的方法.回想起来,这很简单,但几乎没有记录.
# For a public key "ssh-rsa AAblablabla...":
key = paramiko.RSAKey(data=base64.b64decode('AAblablabla...'))
key.verify_ssh_sig(..., ...)
标签:paramiko,python,ssh,ssh-keys 来源: https://codeday.me/bug/20190901/1780498.html