Windows 11 標準機能でOK!SSH接続時にパスフレーズ入力を省略する方法

[PR]記事内のアフィリエイトリンクから収入を得る場合があります
  • URLをコピーしました!

開発やサーバー管理のためSSH接続を日常的に使っている方は多いと思います。

SSH接続は安全を確保するための定番ですが、パスフレーズ付きの秘密鍵を利用していると、接続のたびに何度もパスフレーズの入力を求められうんざりしてしまいます。

幸い、WindowsのOpenSSHにはパスフレーズの入力を省略することができる便利な機能が搭載されています。macOSのキーチェーンを使った場合と同様、PCを再起動してもパスフレーズを記憶してくれているため、パスフレーズの入力は最初の1回だけですますことができます。

この記事では、Windows 11に標準で搭載されているこの機能の利用方法を説明します。

目次

なぜパスフレーズ入力を省略できるのか?

WindowsのOpenSSHクライアントは「OpenSSH Authentication Agent」と呼ばれるサービスと連動し、パスフレーズを解除した秘密鍵を安全に保持します。

パスフレーズの入力はssh-addコマンドで鍵を登録する際に一度だけ必要となります。以降のssh接続時には、エージェントが自動で秘密鍵を提供してくれるため、ユーザーはパスフレーズの入力を求められなくなるのです。

OpenSSH Authentication Agentを起動する

記事執筆時、Windows 11ではsshクライアントは標準で利用できますが、「OpenSSH Authentication Agent」は有効化されていません。サービス設定で有効化する必要があります。

スタートメニューなどから「サービス」を検索して開き、「OpenSSH Authentication Agent」のプロパティを表示します。スタートアップの種類を「自動(遅延開始)」か「自動」に変更し「開始」ボタンをクリックします。

秘密鍵を登録する

サービスが起動している状態になったら、秘密鍵をエージェントに登録できます。コマンドプロンプトやPowerShellを開き、ssh-add 秘密鍵のパスを実行します。

# 秘密鍵をエージェントに登録する
ssh-add C:\Users\ユーザー名\.ssh\id_rsa

コマンドを実行するとパスフレーズの入力を求められます。登録に成功した場合、ssh-add -lで鍵の一覧が表示されます。

SSH接続を試してみる

鍵の登録が完了したら後は通常通りssh接続するだけです。

ssh user@remote-server.com

パスフレーズの入力を求められることなく、リモートサーバーにログインできるはずです!

ただし、~/.ssh/configファイルでIdentitiesOnly yesを指定するとパスワードの入力が常に必要でした。macOSとは異なっており注意が必要です。

まとめ

Windows 11に標準搭載されたOpenSSHを有効活用することで、セキュリティを妥協することなく、快適なSSHライフを手に入れることができます。WindowsにOpenSSHが搭載されたのは比較的遅く(Windows 10の時代)、その間さまざまなサードパーティツールが使われてきました。Windowsのssh関連情報は錯綜していますが、まずは標準機能を試してみるのがおすすめです。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次