カメノドットコム
Debian大好きでメインで節操ない感じ。
GMOもわりと好き。
RSS feedly

PowerShell/Win32-OpenSSHのインストール

「PowerShell」は名前通り、Windows上でUnix系のシェルとかターミナルとかをエミュレートするもの。Windows7以降に搭載。OSによって搭載されているシェルのバージョンは異なります。
PowerShell/Win32-OpenSSH は「PowerShell」や「コマンドプロンプト」で実行する、WindowsのためのOpenSSHです。
コマンドライン(CUI)での操作になります。「くい」とか「くーい」とか読みます。

ダウンロードと解凍

Win32-OpenSSHリリースページ から最新バージョン(Latest release)のZIPファイルをダウンロードします。
64bit版Windowsの環境なら「OpenSSH-Win64.zip」で、32bit環境なら「OpenSSH-Win32.zip」です。
「環境ってナニ?」となりましたら Windowsの32bit版と64bit版の見分け方 を参考にどうぞでございます。
それも面倒な方は、32bit版を使っている前提にしておけば特に問題ないです。
ダウンロードしたZIPファイルを「C:\Program Files」に解凍します。
「OpenSSH-Win32」あるいは「OpenSSH-Win64」というディレクトリができます。
このディレクトリを「OpenSSH」にリネームしてください。
公式マニュアル(Install Win32 OpenSSH)に書いてあるので、違うことすると不具合が出るかもしれません。

インストールスクリプトを実行する

まずはPowerShellのスクリプト実行ポリシーを確認します。
Windows + R 同時押しで「ファイル名を指定して実行」を開き、powershell と入力して起動してください。
他にもスタートメニューから実行したり、タスクバーの検索フィールドに powershell と入力すると実行アプリの候補が出たりします。
やりやすい方法でどうぞでございます。
PowerShellは管理者権限で実行するのがいいと思います。

> Get-ExecutionPolicy
Restricted

デフォルトでは Restricted という、スクリプトを 実行しない 設定になっていると思います。
このポリシーを「自分で作ったスクリプトと、ダウンロードしたものは信頼できる発行元が署名した場合のみ実行」に変更します。

> Set-ExecutionPolicy RemoteSigned
実行ポリシーの変更
実行ポリシーは、信頼されていないスクリプトからの保護に役立ちます。実行ポリシーを変更すると、about_Execution_Policies
のヘルプ トピックで説明されているセキュリティ上の危険にさらされる可能性があります。実行ポリシーを変更しますか?
[Y] はい(Y)  [N] いいえ(N)  [S] 中断(S)  [?] ヘルプ (既定値は "Y"):
// [Y] はい(Y) で変更実行
> Get-ExecutionPolicy
RemoteSigned    // 変更されてるか確認

GitHubの PowerShell/Win32-OpenSSH はマイクロソフト謹製ということですので、これでインストールできるようになるはずです。
できなかったらマイクロソフトが悪い(開き直り)
ディレクトリを移動して、インストールスクリプトを実行します。
ディレクトリやコマンドは TABキー で入力補完できます。

PS C:\User\UserName> cd C:\Program Files\OpenSSH
PS C:\Program Files\OpenSSH> .\install-sshd.ps1
sshd service is not installed
ssh-agent service is not installed
PS C:\Program Files\OpenSSH> .\install-sshd.ps1
[SC] SetServiceObjectSecurity SUCCESS
[SC] ChangeServiceConfig FAILED 1057:

Granting SeAssignPrimaryTokenPrivilege to NT SERVICE\SSHD   ... successful
sshd and ssh-agent services successfully installed

ssh-agent のインストールが成功した旨のメッセージが出ればOKです。
……SSHサーバはいらない場合が多いと思うんだけど ssh-agent だけをインストールすることはできないのか。セキュリティ的に大丈夫なのか、この仕様。22番ポートは中から外のみに限定するべきなのか? ここらあたりは分からなくてスミマセン。
えーと。色々と愚痴混じりですが、以上でインストールは終了です。

「C:\Program Files\OpenSSH」にパスを通す

フルパスでコマンド入力とかディレクトリを「C:\Program Files\OpenSSH」に移動して使うとかでもいいんですが、どこからでも使えるようにしたほうが便利なのでパスを通します。
「環境変数の設定」というちょっと繊細な作業になりますので、注意して行ってください。
Windows10の場合は「メニュー」ボタン(Windowsボタン)をクリックしてメニューを開き「システム」をクリックします。
ウィンドウの左側に「システムの詳細設定」があれば、それをクリックします。システムのプロパティが開きます。
ちゃんとバージョンアップしてると辿りつけないという情報もあるようです。
その場合、検索ボックスに「システムの詳細設定の表示」と打ち込んでシステムのプロパティを開いてください。

Windows8/8.1とWindows7の場合は、まずエクスプローラを開きます。
左側に「デスクトップ」というアイコンがあるのでそれをクリックします。
右側に「コンピューター」というアイコンが現れますので、右クリックして「プロパティ」を開きます。

以上の操作で、下のようなウィンドウが開きます。WinXPなので色々微妙に違うのはご愛嬌。
「システムのプロパティ」のウィンドウです。
おもむろに「環境変数」をクリックしてください。

だいたい、こんな感じになります。
「環境変数」設定ウィンドウです。
「システムの環境変数」のところで「Path」とある行を探します。
よーっく確認して「Path」にフォーカスして「編集」をクリックします。

環境変数の編集ができるウィンドウが開きます。
「環境変数」編集ウィンドウです。
このようなウィンドウの場合は「変数値」の最後にパスを追加します。
1行にひとつずつ書かれたウィンドウが開いた場合は「新規」をクリックしてパスを追加します。

追加するパスは「C:\Program Files\OpenSSH」です。このディレクトリの中にある実行ファイルはどこからでも使えるよ、ということになります。
上記画像の場合、すでに
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem
と入力されていました。これの最後に追加しますが、必ずセミコロン(;)で区切ります。その結果が下記です。
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\OpenSSH
「新規」でパスを追加できる場合は「C:\Program Files\OpenSSH」とだけ書けばいいです。

ここまで出来ましたら、PCを再起動するかログオフしてログインし直してください。
再起動が確実だと思います。

これで一応、多分ですが、CUIとして使用する準備が出来ました。
VPSはLinuxとかFreeBSDで運用することが多いですので、CUIに慣れておくのもいいと思います。

Sponsored Link