SSH

luagate/ssh-introSSH入門22OS・Linux

上から下へ、全 22 枚そのまま並べています。

発表モードで開く

SSH入門

SSH

サーバーに安全にログインするしくみを理解する

1
1

目次

今日の流れ

1. SSHって何のためにあるの?

2. しくみ — 鍵を使った安全な通り道

3. パスワードと鍵認証のちがい

4. 実際に使ってみる(コマンド)

5. まとめと振り返り

2
2
SSH入門 - イントロ

今日のゴール

この時間で身につけてほしいことです。

  • SSHが「遠くのサーバーを安全に操作する道具」だと分かる
  • 通信が暗号化される理由をイメージできる
  • 公開鍵と秘密鍵の役割を説明できる
  • パスワードより鍵認証が安全な理由が分かる
  • 基本的なsshコマンドを自分で打てる
10
3
SSH入門 - イントロ

SSH とは

離れた場所にあるサーバーへ、安全につないで操作するための仕組みです。

SSH(エスエスエイチ / Secure Shell)

ネットワーク越しに別のコンピュータへ安全にログインし、コマンドを実行するための通信方式。やり取りはすべて暗号化される。

手元のパソコンから遠くのサーバーを操作できる

通信が暗号化されるので盗み見されにくい

昔のtelnetは平文だったが、SSHは暗号化が前提

クラウドサーバーの管理で日常的に使われる

11
4
SSH入門 - イントロ

SSH = 合鍵で入る遠隔の部屋

SSHでのログインは、合鍵を使って離れた部屋に入るイメージに似ています。

あなた(クライアント)
  • 手元のパソコン
  • 鍵を持って入室を試みる
安全な通り道
  • 暗号化されたトンネル
  • 中身を誰にものぞかれない
サーバー(部屋)
  • 遠くにあるコンピュータ
  • 正しい鍵の人だけ入れる
12
5
SSH入門 - イントロ

こんなときに使う

SSHは開発や運用の現場で、こんな場面に登場します。

  • クラウド上のWebサーバーに入って設定を変える
  • アプリを本番サーバーにデプロイする
  • 遠くのサーバーのログを確認する
  • GitHubへのpush認証(SSH鍵)にも使われる
  • 別のマシンへファイルを安全に転送する(scp / sftp)
13
6

SSH入門 - しくみ

2

第2部 しくみ

鍵を使った安全な通り道

20
7
SSH入門 - しくみ

接続が始まるまでの流れ

sshコマンドを打ってから、安全にログインするまでの大まかな流れです。

1. 接続を要求

クライアントがサーバーに「つなぎたい」と声をかける

2. サーバー確認

サーバーの身元(ホスト鍵)を確認する

3. 安全な通り道

暗号化されたトンネルを二人の間に作る

4. 本人確認

鍵またはパスワードで「あなたは誰か」を確かめる

21
8
SSH入門 - しくみ

公開鍵と秘密鍵(ペアで使う)

鍵認証では、対になった2つの鍵を使い分けます。

公開鍵 と 秘密鍵

数学的に対になった2つの鍵。公開鍵はサーバーに置いて公開してよく、秘密鍵は自分だけが持つ。この組み合わせで本人確認を行う。

秘密鍵 自分のパソコンに大切に保管する(他人に渡さない)

公開鍵 ログインしたいサーバーに登録しておく

秘密鍵を持つ人だけが、対応するサーバーに入れる

秘密鍵が漏れると不正ログインされるので厳重に管理する

22
9
SSH入門 - しくみ

鍵認証のしくみ(ざっくり)

パスワードを送らずに「秘密鍵を持っていること」を証明します。

1. 鍵を登録

自分の公開鍵をサーバーに置いておく

2. お題を出す

サーバーがランダムなお題を送ってくる

3. 秘密鍵で答える

手元の秘密鍵を使ってお題に署名して返す

4. 照合してOK

サーバーが公開鍵で検証し、本人だと認める

23
10
SSH入門 - しくみ

認証方式とSSHポートへの攻撃

インターネット上のサーバーには、パスワードを総当たりする攻撃が日常的に届きます。鍵認証だとこの試行はまず通りません。

80 相対値644832160
80相対値
5相対値
パスワード認証(突破リスク)
鍵認証(突破リスク)

出典: 一般的なサーバー運用での体感をもとにした概念図(概算)

24
11

SSH入門 - 認証の比較

3

第3部 パスワードと鍵認証

なぜ鍵のほうが安全なのか

30
12
SSH入門 - 認証の比較

パスワード認証 と 鍵認証

どちらもログインできますが、安全性とラクさが大きく違います。

パスワード認証

  • 合言葉を入力してログイン
  • 総当たり攻撃に弱い
  • 使い回すと一気に危険
  • 毎回入力する手間がある
  • 推測されると突破される

鍵認証

  • 秘密鍵を持つ人だけ入れる
  • 総当たりがほぼ通用しない
  • パスワードを送らない
  • 設定すれば入力いらず
  • 秘密鍵の管理さえすれば安全
31
13
SSH入門 - 認証の比較

鍵を安全に使うための心得

鍵認証は強力ですが、使い方を誤ると意味がなくなります。

秘密鍵は渡さない
  • メールやチャットで送らない
  • 共有フォルダにも置かない
  • 他人の端末にコピーしない
パスフレーズを付ける
  • 秘密鍵自体にもロックをかける
  • 盗まれても即悪用されにくい
  • 二重の守りになる
権限を絞る
  • 秘密鍵ファイルは本人のみ読める設定に
  • 公開鍵だけサーバーへ登録
  • 不要になった鍵は削除する
32
14

SSH入門 - 実践

4

第4部 使ってみる

実際にコマンドを打ってみよう

40
15
SSH入門 - 実践

鍵を作って登録する手順

はじめて鍵認証を使うときは、鍵を作ってサーバーに登録する準備をします。

手元で鍵ペアを作る(公開鍵と秘密鍵ができる)
公開鍵をログインしたいサーバーに登録する
秘密鍵は自分のパソコンに安全に保管する
sshコマンドでログインを試す
41
16
SSH入門 - 実践

基本のコマンド

鍵を作り、サーバーへログインし、ファイルを送るところまでの基本形です。

bash
# 鍵ペアを作る(公開鍵 .pub と秘密鍵ができる)
ssh-keygen -t ed25519 -C "me@example.com"

# 公開鍵をサーバーに登録する
ssh-copy-id ubuntu@example.com

# サーバーへログインする
ssh ubuntu@example.com

# ファイルを安全に送る(scp)
scp ./app.zip ubuntu@example.com:/home/ubuntu/
42
17
SSH入門 - 実践

つながらないとき、まず見るところ

接続できないときは、原因が「鍵側」か「経路側」かを切り分けると早いです。

鍵まわりを疑う

  • 公開鍵がサーバーに登録されているか
  • 秘密鍵のファイル権限が緩すぎないか
  • 正しいユーザー名で接続しているか
  • 秘密鍵のパスを -i で指定しているか

経路まわりを疑う

  • ホスト名やIPアドレスが正しいか
  • ポート(既定は22)が開いているか
  • ファイアウォールでブロックされていないか
  • サーバー自体が起動しているか
43
18
SSH入門 - まとめ
クイズ

振り返りクイズ

今日の内容を確認しましょう。

SSHの鍵認証で、サーバーに登録しておくのはどちらの鍵?

A
秘密鍵
B
公開鍵
C
パスワード
D
ホスト名
50
19
SSH入門 - まとめ
答え

振り返りクイズ 解答

SSHの鍵認証で、サーバーに登録しておくのはどちらの鍵?

A
秘密鍵
B
公開鍵
C
パスワード
D
ホスト名

サーバーには公開鍵を登録します。秘密鍵は自分のパソコンだけに置き、誰にも渡しません。公開鍵は公開してよい鍵なので、サーバー側に置いて本人確認に使います。

51
20
SSH入門 - まとめ

質疑・次回予告

今日のまとめと、次に学ぶテーマです。質問があればここで受け付けます。

今日のおさらい
  • SSHは遠隔サーバーへの安全なログイン
  • 通信は暗号化される
  • 公開鍵を登録し秘密鍵で証明する
次回予告
  • Webhook 〜イベントで自動連携〜
  • サービス同士が自動で知らせ合うしくみ
52
21
"

SSHは「遠くのサーバーに、暗号化された安全な道でログインする鍵」。公開鍵を預け、秘密鍵で自分を証明する。この型を覚えれば、クラウド運用の入り口に立てます。

SSH入門

53
22