使用powerShell中的New-SshSession远程登录到linux(带私钥)

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

我试图使用下面列出的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

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

谢谢!

linux windows powershell private-key
1个回答
1
投票

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

如果您无法创建兼容文件,请从发行方请求以ssh-rsa开头的文本文件,可能会将此手册与他联系。

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