SSHを利用してWindows11のパソコンをリブーターからシャットダウンする方法 | 社員,やってみた

こんにちは。リブーター”ヲタク”の元・開発アシスタントです。

このコラムでは「お客様にリブーターを使いこなしていただきたい」という個人的な願いを込めて、私が個人的に勉強した事や試してみた事の中から、お客様に役立ちそうな情報を共有させていただきます。

今回は「SSHを利用して、Windows11のパソコンをリブーターからシャットダウンする方法」を試してみました。

初めに

リブーターの「スクリプト実行機能」を使うと、指定したアウトレットの電源をオフにする前に、TelnetやSSH接続を介して事前に設定したスクリプトを実行することができます。たとえば、アウトレットに接続されたWindowsパソコンに対して、shutdownコマンドを実行するスクリプトを利用すれば、遠隔地からパソコンをシャットダウンすることができるため、多くのお客様にご利用いただいている非常に便利な機能です。

ただし、現在のWindowsにはTelnetサーバー機能が標準で搭載されていないため、Telnet接続を用いる場合は、明京ソフトのシャットダウンサーバーをインストールする必要があります。一方、SSH接続を使用する場合は、Windowsのオプション機能を有効にすることで、シャットダウンが可能になります。

今回は、私の環境で初期設定済みのRPC-5NCSiからWindows 11パソコンをシャットダウンできた方法をまとめてみました。 (ただし、あくまで私の環境で動作した事例であり、動作保証はできませんので、ご了承ください。)

概要

1. Windows11側のSSHサーバーに機能を有効にする

2. RPC-5NCSiの設定を行う

Windows11のSSHサーバー機能を有効にする

以下の手順で、Windows 11のオプション機能「OpenSSH サーバー」を常時有効にします。また、ファイアウォールの設定調整も必要です。最後に、別のPCからSSH接続を試し、SSHサーバーが有効になっていることを確認します。

(1) OpenSSHサーバーのインストール

1. スタートボタンを右クリックし、「設定」 → 「システム」 → 「オプション機能」に移動します。

2. 「機能の表示」をクリックし、「OpenSSH サーバー」にチェックを入れて追加します。

※「OpenSSH クライアント」とは別の機能であるため、混同しないようご注意ください。

(2) OpenSSHサーバーの起動と設定

1. Windowsキーを押して「サービス」を検索し、「サービス」アプリを開きます。

2. 一覧から「OpenSSH SSH Server」を探し、右クリックして「プロパティ」を選択します。

3. 「スタートアップの種類」を「自動」に設定し、「開始」ボタンをクリックしてサービスを開始し、「OK」をクリックします。

(3) ファイアウォールの設定

1. 「設定」 → 「プライバシーとセキュリティ」 → 「Windowsセキュリティ」 → 「ファイアウォールとネットワーク保護」 → 「ファイアウォールによるアプリケーションの許可」に移動します。

2. 「設定の変更」をクリックし、「OpenSSH Server」がリストにあるか確認してチェックボックスをオンにし、「OK」をクリックします。

(4) SSH接続の確認

別のPCからSSHクライアントを使用して接続を試みます。ここでは「OpenSSH クライアント」を有効にした別のWindows PCのPowerShellを使用しました。

1. PowerShellを起動し、以下のSSHコマンドを実行します:

「ssh <SSHサーバーにログインするユーザー名>@<SSHサーバーのIPアドレス>」

2. 初回の接続時には、接続先ホストの確認が求められるため、「yes」と回答します。

3. パスワードを入力するように求められたら、ログインに使用するパスワードを入力します。

4. ログインに成功したことを確認し、「exit」コマンドでSSH接続を終了します。仮に、「exit」コマンドを実行する前に「shutdown」コマンド(例:shutdown /s /f /t 10)を実行すればシャットダウンできますので、興味ある方はお試しください!

 

以上で、パソコン側の設定は完了です。

RPC-5NCSiの設定を行う

SSHシャットダウン実行時の設定例

1. RPC-5NCSiにWEBアクセスし、「システム設定」 → 「詳細設定」 → 「シャットダウン設定」を開きます。私は「アウトレット1」のスクリプト機能を使用することにしました。

2.「スクリプト設定(アウトレット1)」の各項目を設定します。RPC-5NCSiには、SSH接続してWindowsのパソコンをシャットダウンさせるためのサンプルスクリプトがスクリプト番号「2」に用意されています。それで、スクリプト機能は「有効」、スクリプト番号は「2」、対象IPアドレスにはシャットダウンさせるパソコンのIPアドレスを入力し、ポートは「22」に設定します。ユーザーIDとパスワードには、シャットダウンさせるパソコンのユーザー名とパスワードを入力しました。

3.「シャットダウンPing設定(アウトレット1)」の各項目を設定します。スクリプト番号「2」を使用する場合、シャットダウンには10秒が必要なため、必ずシャットダウンPingを設定します(設定しないと、シャットダウン中に電源がオフになる可能性があります)。

実行先アドレスにはシャットダウンさせるパソコンのIPアドレスを入力し、間隔(秒)は「5」、無応答回数は「2」、最大送信数は「12」に設定しました。 この設定の意図は、シャットダウン中にPing応答がなくなる可能性を考慮し、「10秒(無応答回数×間隔)」を下限としつつ、フリーズしたパソコンを強制再起動する動作が遅くなりすぎないように「60秒(最大送信数×間隔)」を上限とすることです。

4. 設定完了後、「適用」ボタンをクリックします。

 

これでリブーター側の設定も完了しました。私の環境下では、リブーターのアウトレット1をオフにしたところ、スクリプトが実行され、Windowsパソコンが正常にシャットダウンされました。

シャットダウン対象を別のパソコンに変更する際には、公開鍵の削除を忘れないでください

今回は、アウトレット1のSSHスクリプト機能を使用してWindowsパソコンのシャットダウンを行いました。もし、別のパソコンを同じアウトレット1のSSHスクリプト機能を使ってシャットダウンさせたい場合、前のパソコンで使用した公開鍵を必ず削除してください。削除方法は、WEBログイン後、「ネットワーク設定」 → 「詳細設定」 → 「SSH設定」に移動し、「SSH KEY【SSHクライアント時】」の該当アウトレットで「Key削除」をクリックするだけです。

例えば、デモ環境で検証を行った後に本番環境に移行する場合、必ず「Key削除」を行ってください。パソコンごとに公開鍵は異なるため、鍵の不一致が発生するとSSH接続に失敗します。エラーコード253が表示された場合は、公開鍵の不一致が原因である可能性が高いので、上記の方法で「Key削除」を試してみてください。

最後に

今回のコラムが少しでもお役に立てれば嬉しいです。お客様からのフィードバックや質問も大歓迎ですので、ぜひお気軽にお問い合わせください。リブーターの機能を最大限に活用して、効率的な運用をサポートできることを願っています。次回は自作スクリプトでUbuntuのパソコンをシャットダウンさせてみる予定です。どうぞお楽しみに!

お問い合わせはこちら

おすすめ記事