2015-07-06 24 views
1

我试图使用下面列出的3个输入的密钥从Windows PowerShell登录到Linux服务器。在PowerShell中使用New-SshSession远程登录到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 

所以我想我需要知道如何保存我已经发送的字符串作为一个关键?

谢谢!

+0

这个问题可能更适合在http://superuser.com/或http://serverfault.com/ – mondjunge

+0

@mondjunge上提问不,不幸的是,这是关于如何使用特定的代码模块,而不是什么软件用来做SSH。 – Vesper

回答

1

The manual指出New-SshSession表示启动和验证SSH连接的OpenSSH密钥文件。如果你已经给出了一个文本文件,你可以通过Puttygen.exe(从页面抓取的链接)将它变成一个兼容的密钥文件,然后将ppk加载到Puttygen,然后复制&粘贴生成的数据。应该做。是的,如果您收到一个HEX2BIN字符串(只有0213456789ABCDEF的字符串),您必须将其转换为Base64字符串,请使用http://base64decode.com/或类似的服务。

如果您无法创建兼容文件,请向发行人索取ssh-rsa开头的文本文件,可能会将本手册链接到他。

+0

感谢您的链接。现在工作没问题。 – beatsandbosons