テスト目的で、OpenSSH 7.6をWindows 7にインストールしました。 SSHクライアントとサーバーは、このウィンドウから自分のAWS EC2ボックスの1つにアクセスしようとするまでは問題なく動作します。
秘密鍵ファイルの許可を変更する必要があるようです。これはunix/linuxでchmod
コマンドを使えば簡単にできます。
窓はどうですか?
private-key.ppmはAWSから直接コピーされたもので、私もその許可を得たと思います。
C:\>ssh -V
OpenSSH_7.6p1, LibreSSL 2.5.3
C:\>ver
Microsoft Windows [Version 6.1.7601]
C:\>
C:\>ssh [email protected] -i private-key.ppk
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions for 'private-key.ppk' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "private-key.ppk": bad permissions
[email protected]: Permission denied (publickey).
C:\>
C:\>
C:\>ssh [email protected] -i private-key.ppm
Warning: Identity file private-key.ppm not accessible: No such file or directory.
[email protected]: Permission denied (publickey).
C:\>
キーは、自分が意図しているユーザーのみがアクセス可能でなければならず、他のアカウント、サービス、またはグループはアクセスできません。
CLI:
:: Set Variable ::
set key="C:\Path\to\key"
:: Remove Inheritance ::
cmd /c icacls %key% /c /t /inheritance:d
:: Set Ownership to Owner ::
cmd /c icacls %key% /c /t /grant %username%:F
:: Remove All Users, except for Owner ::
cmd /c icacls %key% /c /t /remove Administrator "Authenticated Users" BUILTIN\Administrators BUILTIN Everyone System Users
:: Verify ::
cmd /c icacls %key%
私は同じ問題を抱えていました、そしてそれはあなたが実行しているSSHのバージョンに関連しているようです。
私がタイプすれば
where ssh
私は….
C:\Windows\System32\OpenSSH\ssh.exe
C:\Program Files\Git\usr\bin\ssh.exe
両方の場所でssh -V
を実行すると、
OpenSSH_7.5p1, without OpenSSL
OpenSSH_7.3p1, OpenSSL 1.0.2k 26 Jan 2017
...それぞれ
だから、私がgit/binディレクトリからssh
を実行するとき、それはうまく動いて、許可について不平を言いません、しかしSSHの以前のインストールを使用して同じコマンドラインを実行する、それは戻ってきます。
Load key "t:\\mykeys\\rich-private.ppk": invalid format
[email protected]: Permission denied (publickey).
ps。ファイルへのアクセス許可は私自身のためのフルアクセスにすぎず、それ以外には何もありません。
Ibugによって提供された答えに加えて。私はsshコマンドを実行するために窓の中のubuntuシステムを使用していたので。それはまだ働いていませんでした。だから私はやった
Sudo ssh ...
そしてそれは働いた
ファイル許可を調整するために、chmodの代わりにWindowsでicaclsを使用できます。現在のユーザーに読み取り許可を与え、他のすべてを削除するには、
icacls <file name> /inheritance:r
icacls <file name> /grant:r "%username%":"(R)"