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

时间:2015-07-06 11:05:53

标签: linux windows powershell private-key

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

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

谢谢!

1 个答案:

答案 0 :(得分:1)

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

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