web-dev-qa-db-ja.com

Windows 10 SSHクライアント:パスワードなしのアクセス

Windows 10に組み込まれているSSHクライアントのみを使用したいplinkなし、PuTTYなし

を使用して簡単にサーバーにログインできます

$ ssh user@server

しかし、それはいつも私のパスワードを尋ねます。秘密鍵を使用する場合

$ ssh user@server -i %USERPROFILE%\.ssh\id_rsa

また、パスフレーズの入力も求められます。 Windows SSHクライアントは、資格情報をキーチェーンのmacOSなどのどこかに保存できますか?

6
Thomas S.

Thomas S.の回答に加えて、再起動後でもWindowsがパスフレーズを記憶できる方法を見つけました。これはPowerShellを使用します。

管理者特権のPowerShellセッションでこれを実行(=管理者として実行):

Get-Service ssh-agent | Set-Service -StartupType Automatic -PassThru | Start-Service

(または、方法がわかっている場合は、GUIを使用してそれを行うことができます。基本的には、ssh-agentが自動的に開始されます。)

Gitのオプション

Gitにこれらすべての設定を認識させるには、Gitに独自のOpenSSHではなく内部OpenSSHを使用するように指示する必要があります。 (はい、Gitの場合、現在2つのOpenSSHインスタンスがあります)

git config --global core.sshCommand C:/Windows/System32/OpenSSH/ssh.exe

(スラッシュを使用/または二重バックスラッシュ\\このパス内)

これを行うことにより、Git(すべてのGitクライアントを含む)は保存されたパスフレーズにアクセスできます。

ソース: https://github.com/dahlbyk/posh-git/issues/640#issuecomment-435515055

8
Andreas Linnert
  • オプションのWindows機能「OpenSSHクライアント」がインストールされていることを確認してください
  • サービス「OpenSSH Authentication Agent」が少なくとも「手動」スタートアップタイプ(デフォルトでは無効)であることを確認します
  • サービスを開始します。 ssh-agentを呼び出す
  • 秘密鍵ファイルについて教えてください:ssh-add <path-to-private-key-file>
  • 現在ssh user@serverはパスフレーズを要求せずに機能します

残念ながら、再起動後に秘密鍵とパスフレーズを記憶させる方法は見つかりませんでした。

6
Thomas S.