2

我正在尝试使用具有下面列出的 3 个输入的密钥从 Windows PowerShell 登录到 Linux 服务器。

New-SshSession -ComputerName [name] Username- [user] -KeyFile [path]

我从一位同事那里收到了私钥的文本,我需要知道如何实现它。将其保存在.ppk文件中没有产生任何结果。PowerShell 吐出以下内容以响应运行上面的行。

New-Object : Exception calling ".ctor" with "1" argument(s): "Invalid private key file."
At C:\Windows\system32\WindowsPowerShell\v1.0\Modules\SSH-Sessions\SSH-Sessions.psm1:90 char:20
+             $Key = New-Object Renci.SshNet.PrivateKeyFile( $Keyfile ) -ErrorActi ...
+                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [New-Object], MethodInvocationException
    + FullyQualifiedErrorId : ConstructorInvokedThrowException,Microsoft.PowerShell.Commands.NewObjectCommand

所以我想我需要知道如何保存我作为密钥发送的字符串?

谢谢!

4

1 回答 1

1

该手册声明New-SshSession接受用于启动和验证 SSH 连接的 OpenSSH 密钥文件。如果您获得了一个文本文件,您可以通过PuttyGen.exe(从页面抓取的链接)将其制成兼容的密钥文件,然后将 .ppk 加载到 PuttyGen 中,然后复制并粘贴生成的数据。如果您收到一个 HEX2BIN 字符串(其中只有一个0213456789ABCDEF),您必须将其转换为 Base64 字符串。(使用https://www.base64decode.com/或类似的服务。)

如果您无法创建兼容文件,请ssh-rsa从发行者处请求一个以文本开头的文件,可能会将本手册链接到他。

于 2015-07-06T11:51:07.287 回答