2017-09-24 4 views
0

私はPuTTYgenを使用してSSH鍵ペアを生成しているし、成功した私のWindows 10ワークステーション上でパテからの私の秘密鍵で私のCentOSのサーバーに接続することができます。私にはWindows PowerShellからサーバに接続したいPowerShellの秘密鍵でsshを使用してLinuxサーバーに接続するにはどうすればよいですか?

image of successful connection to CentOS

$Credential = Get-Credential 
$KeyFile = 'C:\Users\mark\Documents\ssh\privkey.ppk' 
$sesh = New-SSHSession -ComputerName neon.localdomain -Credential $credential -Keyfile $KeyFile 

:と私は新しいSSHセッションを作成しようとしましたInstall-Module posh-ssh

とポッシュ-SSHモジュールをロードしています

New-SSHSession : Invalid private key file.

が、私はそれを読んで、base64エンコードに変換した文字列にprivkeyファイルを変換しようとしたが、私は同じ取得:私は、私はこのエラーを取得する

Get-Credentialのルートや空白のパスワードに入れますエラー:

​​

私も

$sesh = New-SSHSession -ComputerName neon.localdomain -Credential $credential -KeyString $privkeystring 
を試してみました

でも同じエラーが発生します。

PowerShellを使用してプライベートキーファイルを使用してLinuxサーバーに接続する方法に関するアイデアはありますか?

答えて

2

New-SSHSessionはPuTTYのキーフォーマットを認識しません(残念なことにギャラリーもプロジェクトページもこれに言及していませんが、PowerShellMagazine articleで見つかりました)。秘密鍵はOpenSSH形式で必要です。

  1. クリックファイル→ロード秘密鍵:あなたはPuTTYgenを持つconvert the private keyをすることができます。
  2. キーがパスワードで保護されている場合は、パスフレーズを入力します。
  3. クリック変換→エクスポートOpenSSHキー
  4. エクスポートされたキーのファイル名を入力し(PPKファイルを上書きしないでください)、をクリックします。
  5. 出口PuTTYgen。新しいキーファイルと

実行New-SSHSession

$computer = 'neon.localdomain' 
$username = 'foo' 
$keyfile = 'C:\path\to\priv_openssh.key' 

$sess = New-SSHSession -Computer $computer -Credential $username -Keyfile $keyfile 
関連する問題