概要
SSH(Secure Shell)とは、離れた場所にあるコンピュータ(サーバー)に、ネットワークを通じて安全に「入る」ための仕組みです。
サーバーとは、データを預かったりWebサイトを動かしたりするいつでも動いているコンピュータです。 そのサーバーが会社の奥の機械室や、遠くのデータセンターにあるとき、毎回その場所まで行ってキーボードをつなぐのは大変ですよね。
SSHを使うと、自分の席のパソコンから、ネットワーク越しにサーバーに入ることができます。そして、やり取りする内容は暗号化(読まれないようにすること)されるので、途中で誰かに盗み見されにくい、安全な仕組みです。
SSH = 遠くのコンピュータに、安全にログインするための仕組み
SSHでサーバーに入るとは?
会社のサーバーにつなぐとは、自分の席のパソコンから、遠くにあるサーバーに「入る」ことです。
SSHが使われる場面で最も多いのは、自分の席のパソコンから、遠くにある会社のサーバーに入るときです。
このデモでは、SSHでサーバーに入るまでの流れを、4つのステップに分けて確認します。
SSHでサーバーに入る流れ
― 手元のPCからログイン完了まで ―
ボタンを押して、手元のPCからサーバーに「入る」までの4ステップを確認できます。
実際のSSH接続方法
会社では、ターミナルの ssh コマンドまたはGUIツールを使って接続することが多いです。
1. サーバーへの入り方(接続方法は2つ)
コマンドで接続するか、GUIツールで接続するか、どちらかです。
コマンドで接続する場合は、ターミナルで次のように入力します。
ssh ユーザー名@サーバーのIPアドレス
例)ssh tanaka@192.168.1.100GUIツール(Tera Term、PuTTY、Termius など)を使う場合は、接続先・ユーザー名・ポートを入力する画面で同じ情報を指定します。
2. 認証の仕方(2つある)
パスワード認証
- 接続するたびにパスワードを入力
- わかりやすいが、漏れると危険
鍵認証(よく使われる)
- 自分のPCに「鍵」を持っておく
- サーバーにペアとなる情報を登録
- パスワードより安全
SSHで安全が守られる仕組み
ネットワーク上では、データはさまざまな機器を経由して送られます。 SSHが安全と言われる理由は、クライアントとサーバーの間の通信がすべて暗号化されるからです。 途中で誰かに見られても、中身を読むことができません。
- パスワード
- 入力したコマンド
などが途中で盗み見される可能性があります。
sshdでMy PCを遠隔操作
ここまでは、「手元のPCから、会社のサーバーに入る」使い方を見てきました。
SSHには、もう一つの使い方があります。自分のPCを「入り先」にすると、別のPCから自分のPCに入り、遠隔操作できる状態になります。
別のPCから自分のPCに入る流れ
このデモでは、流れを確認できます。
- 自分のPCを「入り先」にする
- 別のPCから、つなぎに来る
- 自分のPCに入れる
別のPCから自分のPCに入る流れ
(誰かが「SSH で入ってくる」を待つ)
sshd が22番の入口で待っているので、自分のPCが“入り先”になります。このとき自分のPCが“サーバー”の役になります。
別のPCが“クライアント”になり、自分のPCの中に入れることができます
ssh は「行く側」、sshd は「待つ側」のプログラムです。
補足sshdを動かすには
かんたんにいうと、パソコンの種類によってやり方が異なります。
- Windows:OpenSSH サーバーを有効にする
- Mac:システム設定の「共有」で「リモートログイン」をオン
- Linux:openssh-server をインストール
最初から sshd が入っているパソコンもあれば、あとから有効にするパソコンもあります。
このページで使う用語
| 用語 | 説明 |
|---|---|
| クライアント | SSHで「つなぎに行く側」(手元のパソコンなど) |
| サーバー | SSHで「接続される側」(入り先のコンピュータ) |
| sshd | 接続される側で動く、SSHの受付プログラム |
| ターミナル | コマンドを文字で入力する画面(CLI) |
| sshコマンド | SSHで接続するときに使うコマンド(例:ssh user@host) |
| ポート22 | SSHがよく使う通信の入口番号 |
| IPアドレスとポート番号 | サーバーの住所と入口番号 |
| SSL/TLS | Web通信を暗号化して安全にする仕組み |
| CLI / GUI | 文字で操作する画面と、ボタンで操作する画面 |
