流れ1の7語目 / 10

SSH(公開鍵・秘密鍵)

Linux・セキュリティ
セキュリティグループで22番を会社のIPから許可したあと
「さっきもらった公開鍵、サーバーに登録しといたよ。自分の秘密鍵でSSHして入ってみて。秘密鍵は絶対に人に渡さないでね」
「SSH(公開鍵・秘密鍵)」って、何のことだろう…?

SSHは、離れた場所のサーバーに、暗号化した通信で安全にログインして操作するためのしくみです。

ログインのときは、パスワードの代わりに「公開鍵」と「秘密鍵」という2つで1組の鍵を使うことが多いです。

このページで分かること読む 約4分・問題 3問
  • SSHは、離れた場所のサーバーに、安全(暗号化された通信)でログインして操作するためのしくみ
  • 鍵は2つで1組
  • 公開鍵は人に見られても困らない
  • 秘密鍵のファイルは、自分だけが読めるようにしておく

身近な例えで理解する

銀行などの取引先とは、あらかじめ自分の印影の見本を届けて、登録しておくことがあります。そのあとの手続きでは、手元の実印を書類に押します。取引先は、押された印を登録してある見本と照らし合わせて、本人だと確かめます。見本は取引先に預けておくものですが、実印そのものは本人が手元で大事に保管し、人に預けません。

  • 取引先に登録しておく印影の見本公開鍵(前もってサーバーに登録しておく)
  • 手元で保管する実印秘密鍵(自分だけが持つ)
  • 押された印を、登録してある見本と照らし合わせるサーバーが登録してある公開鍵を使って、組になる秘密鍵を持っているか確かめる
  • 実印を人に預けない秘密鍵を人に渡さない

違うところもあります。印影は見ればまねされるおそれがありますが、公開鍵から秘密鍵を割り出すことは、事実上できません。だから公開鍵は人に見られても困りません。

ちょっと確認

Q14択

SSHでログインするとき、人に渡したり見せたりしてはいけないものはどれですか?

例えを外して、実際のしくみ

ここからは実際のしくみ
SSHは「遠くのサーバーを操作する道」

手元のパソコンから、サーバーにコマンドを打って操作できます。通信は暗号化されるので、途中で中身をのぞかれにくくなっています。ふつうは22番ポートを使います(→05 ポート番号。06 セキュリティグループで22番を許可したのはこのためです)

公開鍵と秘密鍵の置き場所

鍵の組は ssh-keygen というコマンドで自分で作れます(この場面はこちらの方法です)。AWSで「キーペア」を作る方法もあり、その場合は公開鍵がAWS側に置かれ、秘密鍵のファイルが手元にダウンロードされます。秘密鍵のファイルを保存できるのは、この1回だけです。どちらの方法でも、サーバーでは、ログインを認める公開鍵が、ユーザーごとの ~/.ssh/authorized_keys というファイルに書かれています

ログインのしかた

秘密鍵のファイルを指定して、たとえば ssh -i ~/.ssh/my-key.pem ユーザー名@server.example.com のように打ちます(ユーザー名はサーバーのOSによって違います)。初めてつなぐサーバーでは、サーバーの「指紋(フィンガープリント)」が表示され、つなぐ先が正しいか確かめるよう求められます

秘密鍵を守る

秘密鍵は人に渡さない、チャットやメールに貼らない、共有のフォルダに置かない、が基本です。漏れたら、まず会社のルールに従って報告し、その公開鍵をサーバーから消して使えないようにしてから、鍵を作り直します。また、秘密鍵のファイルは自分だけが読める状態にしておきます。ほかの人も読める状態だと、SSHはその秘密鍵を使わずに無視します(→次の 08 パーミッション)

このページのまとめ

SSH
離れたサーバーに、暗号化した通信でログインして操作するしくみ(ふつう22番)
公開鍵
サーバーに置いておく鍵。見られても困りません
秘密鍵
自分だけが持つ鍵。人に渡しません。漏れたら、まず報告して作り直します
authorized_keys
サーバー側で、ログインを認める公開鍵を書いておくファイル

先輩のひとことの意味

先輩「さっきもらった公開鍵、サーバーに登録しといたよ。自分の秘密鍵でSSHして入ってみて。秘密鍵は絶対に人に渡さないでね」

「22番は通るようにしたし、あなたの公開鍵もサーバーに登録した。だから、組になる手元の秘密鍵を使って、SSHでサーバーにログインしてみて。秘密鍵を持っていることがログインできる証拠になるから、ほかの人に渡したら、その人もあなたとしてログインできてしまうよ」という意味です。

練習問題で確かめる

Q2同期のひとこと
同期「チームのみんなで同じ秘密鍵を使おう。チャットに貼っとくね」

この考え方の問題は何ですか?

Q3対応づけ

左の言葉に合う説明を選びましょう。

左から1つ選び、次に右から合うものを選んでください。

左
右

参考資料

ご意見・「これで例えて!」を募集しています

ご意見・ご感想・質問・間違いのご指摘など、何でもお気軽にお寄せください。「この言葉も例えで説明してほしい」「こんな例えなら分かりやすい」という声をもとに、新しいページや例えを作ります。

  • 説明してほしいITの言葉
  • 例えてほしい場面(部活・アルバイト・家事など)
  • 分かりにくかったところ・間違いのご指摘

意見箱は準備中です。

解説・例え・練習問題はすべてオリジナルです。参考にしているのは公式ドキュメントのみです。ご意見・ご感想・間違いのご指摘など、何でもお寄せください。確認してすぐに直します。

LinuCはLPI-Japanの登録商標です。当サイトはLPI-Japanおよび他の企業・団体とは関係ありません。

運営:core