WindowsにSSHサーバーを構築しよう!PuTTYやテラタームでPowerShellをリモート操作!

パソコン

Windows10に搭載されているPowerShellにSSHで接続できるようにする方法を紹介します。

スポンサーリンク

はじめに:SSHとは?

どのOSであっても、シェルと呼ばれるソフトウェアが必ず装備されています。Windowsでは「コマンドプロンプト」、Macでは「ターミナル」、Linuxでは「bash」などとと呼ばれています。

SSHとは、そういったシェルにリモート接続することができるプロトコルです。

SSHセキュアシェルと読みま~すを使うことで、リモートにあるコンピューターをコマンドにより操作することができるようになります。Linuxではよく使われていますが、WindowsでもPowerShellにリモート接続できるようになっており、かんたんにセットアップが可能です。

当記事では、SSHを使用して、Windowsマシンにリモート接続できるようにする手順を紹介します。

リモートからPCを操作するためには、リモートデスクトップという方法もあります。

リモートデスクトップはGUIに接続することができるため、マウスを使用して、いつもどおり作業することができます。

一方、SSHはCLI(コマンドラインインターフェース)に接続するためのプロトコルです。GUIには非対応ですので、マウス操作はできません。一方で、低帯域のネットワークでも軽快に動作するというメリットがあります。また、バッチ処理をしたり、リモートにあるマシンにリモートデスクトップ接続がうまくいかなくなったときの対応には大いに威力を発揮します。

スポンサーリンク

セットアップ

さっそくセットアップ開始!

【手順1】OpenSSHをインストール

まず、SSHサーバーにあたる「OpenSSH」をインストールします。

OpenSSHははじめからWindows10に搭載されていますので、ダウンロードは不要です。ただ、デフォルトでは使用できない状態なので、インストールを行う必要があります。

スタートから「設定」>「アプリ」>「オプション機能」を開きます。

「機能の追加」をクリックし、「OpenSSHサーバー」なければ「OpenSSH」でOK!)を選択。インストールをクリックします。

インストールされました!

サイズは5MBくらいと非常にコンパクト。手軽に導入できますね!

【手順2】ファイアウォールを許可する

OpenSSHがインストールできたら、ファイアウォールの設定を変更し、外部からのSSH接続を許可します。

ノートンやマカフィーといった市販のセキュリティソフトをインストールしている場合は、セキュリティソフト側のファイアウォールを許可する必要があります。

詳しくはメーカーのマニュアルページなどを参照してください。

スタートを開いた状態にし、キーボードで「firewall」と入力します。

表示された結果から「Windows Defender ファイアウォール」をクリックします。

すると、「セキュリティが強化されたWindows Defenderファイアウォール」というウィンドウが開きます。

ファイアウォールの設定

SSH接続ができるようにルールを追加しましょう。

左のツリービューで「受信の規則」が選択されていることを確認し、「新しい規則」をクリックします。

ファイアウォールの設定

「ポート」を選択し、次へ。

ファイアウォールの設定

「TCP」と「特定のローカルポート」を選択して、ポート番号に「22」を指定します。

ファイアウォールの設定

「接続を許可する」を選択し、次へ。

ファイアウォールの設定

すると、ルールを適用する(SSH接続を許可する)エリアを聞かれます。

ファイアウォールの設定

パブリックのチェックを外すと、コンピューター(接続される側のPC)が家の外のネットワークに接続されているときはSSH接続をブロックします。

わからない場合はプライベートのみチェックし、ほかは外しておきましょう。

ネットワークのプロパティをきちんと設定していないと、家の外でもSSHが許可される恐れがあります。不特定多数のネットワークでSSH接続を許可してしまうと、不正に侵入される危険性があります。

「設定」>「ネットワークとインターネット」から、ネットワーク・SSIDごとにプライベートかパブリックかを設定できます。きちんと設定しておくようにしましょう。

「設定」>「ネットワークとインターネット」からプライベートかパブリックかを設定できます。適切に設定しておきましょう。

最後に名前を設定します。ここでは「ssh」としておきました。

終わったら「完了」をクリック。

ルールが追加されました。

【手順3】OpenSSHを起動する

最後にOpenSSHサービスを起動します。

リモートからのSSH接続は、最初にインストールしたOpenSSHというソフトウェアで処理されます。インストールしただけではOpenSSHは起動していませんので、「サービス」からOpenSSHを起動し、SSH接続を受け付ける状態にしましょう。

スタートを表示させた状態でserviceと入力し、「サービス」を開きます。

「OpenSSH SSH Server」をダブルクリックします。

サービス

どれか一つ選択した状態で、キーボードの「O」キーを押すと、Oから始まる項目にジャンプできます。

エクスプローラーでファイルを探すときにも使えるワザですので、ぜひ使ってみてください!

「サービスの状態」から「開始」をクリックします。

OpenSSHのプロパティ

これによりOpenSSHが起動し、晴れてSSHできるようになりました。

「スタートアップの種類」を「自動」にしておくと、PC起動時に自動的にOpenSSHが起動するようになります。

TeraTermから接続してみよう

これでSSHの準備は整いました!

さっそく、ターミナルアプリから接続してみましょう。

Tera Term - Windows用端末エミュレータ
Tera TermはWindowsで動作する端末エミュレータで、telnet/ssh/シリアル接続に対応しています

ここではTeraTermを使用してみます。TeraTermでなくても、SSHクライアントとして動作するアプリケーションであれば、なんでも結構です。PuTTYでもOK!

 

TeraTermのメニューバーから「ファイル」>「新しい接続」をクリックします。

「ホスト」に接続先のコンピューターのIPアドレスを入力し、ポートが「22」になっていることを確認します。

テラタームのスクリーンショット

IPアドレスはコマンドプロンプトで調べることができます。コマンドプロンプトでipconfigと入力しEnterを押すと、IPアドレスが表示されます。

> ipconfig
イーサネット アダプター イーサネット:

   IPv4 アドレス . . . . . . . . . . . .: 192.168.100.150
   サブネット マスク . . . . . . . . . .: 255.255.255.0
   デフォルト ゲートウェイ . . . . . . .: 192.168.100.1

ログイン情報を要求されますので、ユーザーとパスワードを入力し、OKをクリック!

テラタームの接続画面
テラタームからPowerShellに接続したときの画面

接続できました~

うまく接続できないときは?

まずは、ネットワークまわりを確認してみてください。

ファイアウォールやネットワークプロファイル(プライベートかパブリックか)の設定に問題があると、うまく接続できません。

うまく接続できないときのチェックポイント

  • 接続してからしばらくしてエラー(タイムアウト)となっている場合
    →ファイアウォールが怪しいです。ポート22/TCPがきちんと開放されているか確認しましょう。
  • 接続直後に弾かれる場合
    →ファイアウォールはおそらく大丈夫。
    OpenSSHが正しく起動しているか確認しましょう。

接続はできるが、ログインできないときは、ユーザー名が正しいか確認しましょう。

とくにMicrosoftアカウントでログインする設定となっている場合は要注意!

メールアドレスの一部がユーザー名となっている場合があります。ログインに使用するユーザー名はコマンドプロンプトでwhoamiを実行して確認できます。

>whoami
pcn01\user01

この場合user01がユーザー名です。間違わないように注意しましょう~

まとめ

Windows10のPowerShellにSSH接続する方法を紹介しました。

よく使われているリモートデスクトップとは違い、CLIでの操作しかできませんので、通常の使用においては実用性は乏しいのかもしれません。

しかし、リモートデスクトップしている際にフリーズしてしまい、リモートからPCを再起動させたい場合に非常に便利です。

実際、自分がSSHを導入した理由もそれです。遠方にあるPCにリモートデスクトップしていたところフリーズしてしまい、操作不能になってしまったんですよね。SSHでPowerShellに接続できれば、リモートデスクトップ接続はできなくても、PCを再起動したりすることができます。

リモートデスクトップを利用する際は、転ばぬ先の杖としてSSHも構築しておくのがおすすめです。

コメント

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