Paramiko:从公共密钥字符串创建PKey

问题描述 投票:3回答:3

我正在尝试以较低级别使用SSH协议(即,我不想启动Shell或其他任何东西,我只想传递数据)。因此,我直接使用了Paramiko的Transport类。

我已经完成了服务器端的工作,但是现在我被一些愚蠢的事情所困扰。为了使客户端连接到服务器,TransportTransport以两个connect method对象作为参数:客户端的私钥(connect)和服务器的公钥([C0 ])。

PKey类被描述为“公钥的基类”。但是问题是我无法弄清楚如何仅通过ssh公钥(即字符串PKey)创建此类pkey对象。它具有使用私钥构建此类对象的方法,但显然我不希望客户端知道服务器的私钥。

我感觉自己正在忽略一些简单的事情,但是我找不到在网络上进行操作的信息;大多数教程都使用更高级别的hostkey来加载系统的PKey键。

python ssh paramiko ssh-keys
3个回答
4
投票

不得不在另一个不仅仅用于密钥比较(它用于签名检查)的情况下再次解决此问题。这是正确的方法。回想起来,它很简单,但几乎没有记录。

PKey

1
投票

通过调用PKey中描述的各个方法来解决它:

PKey

或多或少ssh-whatever AAblablabla

尽管我仍然愿意接受更好/更简短的建议。就目前而言,SSHClient class方法的SSHClient参数似乎不可用。


0
投票

添加到为传输客户端提供的解决方案上。这是我为SSH客户端添加字符串公共密钥的解决方案:

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