编程语言
首页 > 编程语言> > python – Paramiko:从公钥字符串创建一个PKey

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