当サイトはアフィリエイトプログラムによる収益を得ています。

SSHとは?初心者向けに仕組みとできることをやさしく解説

ノートパソコンからSSHの暗号化通信で別のコンピューターを遠隔操作する仕組み

SSHを調べたら、OpenSSH、クライアント、サーバー、Linuxディストリビューション……と知らない言葉が次々出てきて、余計に分からなくなることがあります。

しかし、最初からすべての用語を覚える必要はありません。SSHとは、簡単に言うと「別のパソコンを、文字の命令で遠隔操作するための仕組み」です。

この記事では、SSHはアプリなのか、Windows・Mac・Linuxのどれで使えるのか、クライアントとサーバーは何を指すのかを初心者向けに整理します。鍵認証やポート開放などの詳しい設定には踏み込まず、まずSSHの意味と全体像をつかむことを目指します。

スポンサーリンク

SSHとは?まずは一言で説明

操作するノートパソコンから安全なSSH接続を通じてサーバーへコマンドを送る流れ
SSHは、離れたパソコンへ安全に文字の命令を届ける仕組み

SSHとは、ネットワークでつながった別のパソコンへ安全に接続し、主にコマンドで操作するための仕組みです。正式には「Secure Shell(セキュアシェル)」と呼ばれます。

たとえば、手元のノートパソコンから別室にあるRaspberry Piへ接続するとします。接続後は、Raspberry Piにキーボードやモニターを直接つながなくても、ファイルを確認したり、設定を変更したり、プログラムを実行したりできます。

操作には、文字で命令を入力する画面を使います。この画面が「ターミナル」です。つまりSSHは、遠くにあるパソコンのターミナルを、手元から使うイメージです。

SSHという名前に「Secure」が入っているのは、通信内容を暗号化して送るためです。ユーザー名や操作内容が、そのまま丸見えになりにくい仕組みになっています。

SSHはアプリなの?

SSHは、特定の1つのアプリ名ではありません。機器どうしが安全に通信するための「共通ルール」に近いものです。こうした通信上の決まりを、IT用語ではプロトコルと呼びます。

身近な例でいえば、Webサイトを見るときのHTTPSも通信のルールです。同じように、SSHにも「どのように接続し、暗号化してやり取りするか」という決まりがあります。

ただし、決まりだけでは実際に接続できません。SSHを使うためのソフトも必要です。その代表が「OpenSSH」です。

OpenSSHとは

OpenSSHとは、SSHによる接続を実際に使えるようにするソフトウェアの集まりです。接続しにいくためのsshや、接続を受け付けるためのsshdなどが含まれます。

そのため「SSHをインストールする」という表現を見かけても、実際にはOpenSSHなどのSSH対応ソフトをインストールしていることがあります。

整理すると、SSHは通信の仕組み、OpenSSHはその仕組みを使うためのソフトです。初心者のうちは、この違いが分かれば十分です。

SSHで何ができるの?

SSHでよく行うのは、別のパソコンをコマンドで遠隔操作することです。主に次のような用途があります。

  • 別のパソコンにログインして状態を確認する
  • 設定ファイルを編集する
  • プログラムや処理を実行する
  • ソフトウェアを更新する
  • ファイルを転送する
  • Raspberry PiやNASなど、普段モニターをつながない機器を管理する

たとえばRaspberry Piを棚の中で動かしている場合でも、同じネットワーク上のWindowsやMacからSSHで接続できます。わざわざモニターとキーボードを用意しなくてよいため、Raspberry Piの設定記事ではSSHがよく登場します。

SSHはLinuxサーバーの管理にも広く使われます。ただし、SSHを使う人が全員サーバーの専門家というわけではありません。家庭内のRaspberry Piへ接続する場面でも、基本の考え方は同じです。

クライアントとサーバーって何?

SSHクライアントのノートパソコンからSSHサーバーの小型コンピューターへ接続する図
接続しにいく側がクライアント、受ける側がサーバー

SSHの説明では「クライアント」と「サーバー」という言葉がよく出てきます。ここでは、役割の違いとして考えると簡単です。

  • クライアント:接続しにいく側、操作する側
  • サーバー:接続を受ける側、操作される側

MacからRaspberry PiへSSH接続するなら、MacがSSHクライアント、Raspberry PiがSSHサーバーです。WindowsからLinuxパソコンへ接続するなら、Windowsがクライアント、Linuxパソコンがサーバーになります。

「サーバー」と聞くと、大きな専用機器を想像するかもしれません。しかし、ここでいうサーバーは機械の大きさではなく役割の名前です。SSH接続を受け付ける設定をした普通のパソコンやRaspberry Piも、SSHサーバー側になります。

同じパソコンが、ある場面ではクライアント、別の場面ではサーバーになることもあります。

Windows・Mac・LinuxでSSHは使える?

Windows、Mac、Linuxの各パソコンがSSHへ接続できることを示す図
SSHはWindows、Mac、Linuxで利用できる

結論から言うと、SSHはWindows、Mac、Linuxのどれでも使えます。ただし、接続しにいく側と、接続を受ける側では準備が異なることがあります。

WindowsでSSHは使える

現在のWindows 10やWindows 11では、OpenSSH Clientを利用できます。PowerShellやWindows Terminalなどを開き、sshコマンドで別の機器へ接続できます。

一方、Windowsを接続される側にするには、OpenSSH Serverの追加や有効化が必要な場合があります。「WindowsでSSHを使えるか」という質問への答えは「使える。ただしサーバー側にする場合は別途設定を確認する」です。

MacでSSHは使える

Macでは、標準の「ターミナル」アプリからsshコマンドを使えます。追加アプリを入れなくても、SSHクライアントとして接続できるのが一般的です。

Macを接続される側にしたい場合は、macOSの設定でリモートログインを有効にする方法があります。まずは「ターミナルから別の機器へ接続できる」と覚えておけばよいでしょう。

LinuxでSSHは使える

LinuxでもSSHは広く使われています。多くの環境ではOpenSSHのクライアントを利用できます。ただし、SSHサーバー機能は最初から動いているとは限りません。

Ubuntu、Debian、Fedoraなど、Linuxには複数の種類があります。この種類を「ディストリビューション」と呼びます。簡単に言うと、ディストリビューションはLinuxの種類です。種類によってインストール方法や初期状態が少し違うため、詳しい手順を調べるときは「Ubuntu SSH」のように名前を付けて検索すると見つけやすくなります。

Raspberry PiでもSSHはよく使われる

Raspberry Pi OSもLinux系のOSです。Raspberry Piでは、モニターやキーボードをつながずに使う「ヘッドレス運用」がよく行われます。そのため、別のパソコンから操作できるSSHと相性がよいのです。

ただし、Raspberry Pi OSでは安全のためSSHサーバーが初期状態で無効になっている場合があります。接続する前に、Raspberry Pi Imagerや設定画面などでSSHを有効にします。具体的な有効化手順は、Raspberry PiへのSSH接続を扱う別記事で確認するのが分かりやすいでしょう。

SSHとMoonlight・リモートデスクトップは何が違う?

文字のコマンドで操作するSSHと画面を転送して操作するリモートデスクトップの比較
SSHは文字中心、リモートデスクトップやMoonlightは画面中心

SSHとリモートデスクトップは、どちらも別のパソコンを遠隔操作する方法です。ただし、見えるものと得意な作業が違います。

方法主に操作するもの向いている用途
SSH文字のコマンド設定変更、サーバー管理、プログラム実行
リモートデスクトップ相手のデスクトップ画面アプリや設定画面をマウスで操作
Moonlight相手の画面を映像として配信ゲームや映像を低遅延で遠隔操作

SSHでは、基本的にデスクトップ画面全体は表示しません。文字中心なので通信量を抑えやすく、画面がない機器にも接続しやすいのが特徴です。

一方、WindowsのリモートデスクトップやVNCは、相手の画面を見ながらマウスで操作したいときに向いています。Moonlightも画面を転送しますが、特にゲームなどの映像を滑らかに表示する用途を得意とします。

つまり、設定や管理をコマンドで行うならSSH、普段どおりの画面を遠隔操作したいならリモートデスクトップ、映像やゲームの操作を重視するならMoonlight、という違いがあります。

ターミナルって何?黒い画面が必要なの?

ターミナルとは、文字でパソコンに命令を入力するための画面です。WindowsではPowerShellやWindows Terminal、Macでは「ターミナル」、Linuxでは各種ターミナルアプリが使われます。

黒い画面で難しそうに見えるかもしれませんが、最初から多くのコマンドを覚える必要はありません。SSH接続では、まず決まった形のコマンドを1行入力します。

ssh ユーザー名@192.168.1.100

ユーザー名は接続先で使うアカウント名、192.168.1.100は接続先を見つけるためのIPアドレスの例です。IPアドレスは、ネットワーク内で機器を見分ける住所のような番号です。

このコマンドは「192.168.1.100という機器へ、指定したユーザー名でSSH接続する」という意味になります。実際には、接続先でSSHサーバーが有効になっていることや、正しいユーザー情報なども必要です。

SSHが入っているか確認するには?

SSHクライアントが使えるかを確認する簡単な方法は、ターミナルを開いて次のコマンドを入力することです。

ssh -V

-Vはバージョンを表示するための指定です。OpenSSH_から始まる文字など、SSHのバージョン情報が表示されれば、少なくともsshコマンドを実行できる状態です。

「sshが見つかりません」「コマンドとして認識されません」といった内容が表示された場合は、SSHクライアントが入っていない、またはコマンドを見つけられない状態の可能性があります。その場合は、使っているOSに合わせてOpenSSH Clientの導入方法を確認します。

なお、この確認で分かるのは、主に「このパソコンから接続しにいくためのSSHクライアントが使えるか」です。接続を受けるSSHサーバーが動いているかどうかは、別の確認が必要です。

まとめ:SSHは別のパソコンを文字で遠隔操作する仕組み

SSHとは、別のパソコンへ安全に接続し、主にコマンドで遠隔操作するための仕組みです。SSHそのものは1つのアプリ名ではなく、実際に使うソフトとしてOpenSSHなどがあります。

クライアントは接続しにいく側、サーバーは接続を受ける側です。Windows、Mac、LinuxのどれでもSSHを利用でき、Raspberry Piのようにモニターを付けずに使う機器でもよく活用されます。

まずはターミナルでssh -Vを実行し、SSHクライアントが使えるかを確認してみましょう。その先の接続方法、鍵認証、WindowsでのSSHサーバー有効化などは、必要になった段階で個別に覚えれば大丈夫です。