WindowsでのSSHの方法やconfigファイルの作成方法やパスフレーズの省略方法をご紹介!

WindowsでのSSHの方法やconfigファイルの作成方法やパスフレーズの省略方法をご紹介!のアイキャッチイメージ

WindowsでのSSHの方法を紹介します


今回は、WindowsでのSSHの方法を紹介します。ここでは、PowerShellからWSL2(Windows Subsystem for Linux 2)のubuntuにSSH接続します。Windows PC 1台で完結します。

WindowsでのSSHの方法に興味のある方はぜひご覧ください。

環境情報

PowerShellからWSL2(Windows Subsystem for Linux 2)のubuntuにSSH接続します。ローカル(PowerShell)の情報は以下です。

リモート(WSL2のubuntu)の情報は以下です。

公開鍵と秘密鍵の作成

SSH接続するために、ローカルで公開鍵と秘密鍵を作成します。ssh-keygenコマンドに「-t rsa」オプションを付与してRSA暗号方式で作成します。作成時にパスフレーズを設定してください。

ssh-keygenコマンドが成功すると、~/.sshフォルダが生成されます。.sshフォルダ配下には、id_rsaファイルとid_rsa.pubファイルが生成されます。id_rsaは秘密鍵、id_rsa.pubは公開鍵です。公開鍵はリモート側に格納します。秘密鍵は誰にも知られないように管理してください。

公開鍵の内容を標準出力して、リモート側の~/.ssh/authorized_keysにペーストしてください。

SSH接続

リモート側で、SSHサービスを開始します。以下のコマンドを実行してください。

ローカルからSSH接続をします。ssh-keygenコマンド実行時に指定したパスフレーズを入力すると、リモート側に接続できます。

接続を終了する際には、「exit」コマンドを入力してください。

configファイル

SSHコマンドを毎回記述するのは面倒です。SSHコマンドのオプションを事前にconfigファイルに記述しておくことで、SSHコマンドをシンプルに記述できます。~/.ssh/configファイルを新規作成して、以下を記述してください。

SSHコマンドを以下のように記述します。

パスフレーズの省略

パスフレーズを毎回入力するのは面倒です。ローカルに秘密鍵を登録することで、パスフレーズの入力を省略できます。

事前準備として、ssh-agentサービスを設定します。まず、services.msc を起動します。

サービス(ローカル) から「OpenSSH Authentication Agent」を探し、右クリックメニューの「プロパティ」を開き、スタートアップの種類(E)を「自動」にし、サービスを開始します。これでWindows起動時に ssh-agent が自動起動されます。

PowerShellでssh-agentの状態を確認します。RunningであればOKです。Runningでなければ、Windowsを再起動してください。

次にssh-addコマンドで秘密鍵を登録します。

秘密鍵を登録した状態でSSHコマンドを実行すると、パスフレーズの入力無しで接続できます。

以下のようなメッセージが出力されて接続できない場合、最新のOpenSSHをインストールしてください。

最新のOpenSSHのダウンロードURLは以下です。
https://github.com/PowerShell/Win32-OpenSSH/releases

まとめ

いかがでしたでしょうか。PowerShellからWSL2(Windows Subsystem for Linux 2)のubuntuにSSH接続する方法を紹介しました。Windows PC 1台で完結します。

ぜひご自身でコマンドを打ち込んで、理解を深めてください。

インフラエンジニア専門の転職サイト「FEnetインフラ」

FEnetインフラはサービス開始から10年以上『エンジニアの生涯価値の向上』をミッションに掲げ、多くのエンジニアの就業を支援してきました。

転職をお考えの方は気軽にご登録・ご相談ください。