Windows PowerShellにOpenSSHを設定する方法

Windows 10上でOpenSSHを使いたいという場面では、Bash on Utuntu on Windowsを使うという選択がができますが、Windows 7や8/8.1ではできません。

こうしたときは、Windows PowerShellでOpenSSHを使うことになります。

ということで、Windows PowerShellにOpenSSHをインストールする方法をまとめてみました。

スポンサーリンク

Windows PowerShellを管理者として実行

先ずは、スタートメニューからWindows PowerShellを探して、これを右クリック。コンテクストメニューから「管理者として実行」を選びます。

続いてPowerShell上で次のコマンドを打ち込みます。

> Set-ExecutionPolicy Unrestricted
 

「実行ポリシーは、信頼されていないスクリプトからの保護に役立ちます。実行ポリシーを変更すると…」と文言で、セキュリティ上の危険さらされる可能性があるという説明があり、最後に「実行ポリシーを変更しますか?」と問われます。
問題ないと判断してYと入力してエンターキーを押せば、 実行ポリシー が変更されます。

OpenSSHのインストール

実行ポリシーが無事に変更できたら、以下のコマンドを上から順番に実行します。

> iwr https://chocolatey.org/install.ps1 -UseBasicParsing | iex
> choco install openssh
> refreshenv

以上で、OpenSSHのインストールは完了です。

ここでいったん、PowerShellを終了し、通常モードでPowerShellを立ち上げ直します。これで、Linuxで使い慣れたsshコマンドがWindows PowerShellでも使えるようになっている筈です。

秘密鍵と公開鍵が生成される場所

例えば、 Windows PowerShell上で、次のようなコマンドを実行してみてください。

> ssh hoge@www213.sakura.ne.jp -i .ssh/id_rsa -p 4321
 

上記の-iで指定しているのは、秘密鍵です Windows PowerShell上でもLinuxのターミナル上でも、OpenSSHの使い方は何ら変わるところはありませんが、PowerShell上でssh-keygenコマンドを実行した場合、.sshフォルダはデフォルト(もちろん変更は可能)で、C:\Users\[ユーザー名]内に生成されるということは覚えておいてください。

.sshフォルダ内には、公開鍵id_rsa.publicも生成されますので、これをscpコマンドなどを使って、リモートサーバーに送ります。

例えば、リモートサーバーがさくらのVPSであれば次のとおりです。

$ scp -P 4321 .ssh/id_rsa.pub hoge@www123.sakura.ne.jp:~/.ssh/authorized_keys
 

この記事はこちらを一部参考にさせてもらいました。

タイトルとURLをコピーしました