我使用puttygen生成了一个ssh密钥对,并且可以使用我的Windows 10工作站上的putty中的私钥成功连接到我的CentOS服务器:
我想从Windows PowerShell连接到服务器,并使用Set
我尝试使用以下命令创建新的ssh会话:
Install-Module posh-ssh
我为$Credential = Get-Credential
$KeyFile = 'C:\Users\mark\Documents\ssh\privkey.ppk'
$sesh = New-SSHSession -ComputerName neon.localdomain -Credential $credential -Keyfile $KeyFile
输入了root和空白密码但我收到此错误:
New-SSHSession:私钥文件无效。
我尝试通过读取并转换为base64编码将privkey文件转换为字符串但是我得到了同样的错误:
Get-Credential
我也试过了,但得到了同样的错误:
$privkeyString = Get-Content $KeyFile
$Bytes = [Convert]::ToBase64String([System.Text.Encoding]::Unicode.GetBytes($privkeyString))
$sesh = New-SSHSession -ComputerName neon.localdomain -Credential $credential -KeyString $Bytes
关于如何使用带有私钥文件的PowerShell连接到Linux服务器的任何想法?
答案 0 :(得分:4)
New-SSHSession
无法识别PuTTY的密钥格式(遗憾的是,Gallery和项目页面都没有提到这一点,但我在PowerShellMagazine article中找到了它)。您需要OpenSSH格式的私钥。您可以使用PuTTYgen convert the private key:
使用新密钥文件运行New-SSHSession
:
$computer = 'neon.localdomain'
$username = 'foo'
$keyfile = 'C:\path\to\priv_openssh.key'
$sess = New-SSHSession -Computer $computer -Credential $username -Keyfile $keyfile
答案 1 :(得分:0)
现在可以在Linux上使用相同的方法。
ssh username@domain.com -p 22 -i C:\ Users \ user.ssh \ private_key_id_rsa
答案 2 :(得分:0)
![输入图片说明> / com
google.android
.apps.docs.storage
/ document / ac = 1; doc =已编码
= fsqjpfgiD4T3A RrffzMZw4PTYZT
6QpUPYqwksyw V + GU9 7GS B8X / YTY4WiUiption here](https://i.stack.imgur.com/eMNpU.png)