Windows10 に、ネイティブの OpenSSH が入りました。めでたい!

エージェントサービスを起動する

「スタートメニューで右クリック」→「コンピューターの管理」→「サービスをアプリケーション」→「サービス」から「OpenSSH Authentication Agent」を選ぶ

「サービス」から「OpenSSH Authentication Agent」を選ぶ

「スタートアップの種類」を「自動」にし、「サービスの状態」が「実行中」でなければ「開始」を押して「実行中」にする。

サービスの起動と自動起動の設定

鍵を登録する

$.ssh> ssh-add id_ecdsa
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions for 'id_ecdsa' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.

Linux のノリで ssh-add をすると、パーミッションがオープンなので秘密鍵として登録できない(このまま使うと危険)という警告が出て登録できないことがあります。

Linux なら “chmod 600 id_ecdsa” で解決なのですが、パーミッションの概念が大きく異なるWindows だとどうしたら良いのでしょうか。


キーファイルを右クリックして「プロパティ」→「セキュリティ」→「詳細設定」

プロパティ」→「セキュリティ」→「詳細設定」

所有者を自分に→継承の無効化→自分以外の権限を削除

所有者を自分に→継承の無効化→自分以外の権限を削除

もし、無効化でダイアログが出たら「継承されたアクセス許可をこのオブジェクトの明示的なアクセス許可に変換します」を選択

継承されたアクセス許可をこのオブジェクトの明示的なアクセス許可に変換します

これで登録できるはずです!

$.ssh> ssh-add id_ecdsa
Enter passphrase for id_ecdsa:
Identity added: id_ecdsa (id_ecdsa)