【えすえすえいち】

SSH とは?

最終更新:
💡 接続先を確認し、暗号化して遠隔操作

ネットワーク越しにログインやコマンド実行などを行うためのプロトコル。通信の暗号化と接続先・利用者の認証を使う。安全に利用するにはホスト鍵や認証情報の管理も必要。

📌 このページのポイント
SSHで認証と暗号化通信 利用者側 接続先の ホスト鍵を確認 サーバー 利用者を認証 操作を許可 暗号化通信 操作・転送 公開鍵・パスワードなどの認証 秘密鍵を渡さず、適切に保護する 実装・設定により使える方法が異なる 接続先・端末・認証情報の管理も必要
SSHの相手との通信を暗号化する概念図。転送先への別の通信区間まで、無条件に暗号化するわけではない。
ひよこ ひよこ
SSHは何のために使うの?
ペンギン先生 ペンギン先生
ネットワーク越しにサーバーへログインしたり、コマンドを実行したりする仕組みだよ。OpenSSHの接続例は `ssh user@server`。通信は暗号化されるけれど、接続先や端末、認証情報まで無条件に安全になるわけではないんだ。
ひよこ ひよこ
接続先はどう確かめるの?
ペンギン先生 ペンギン先生
サーバーのホスト鍵で接続先を識別するよ。OpenSSHは既知のホスト鍵を保存して照合する。初回や鍵が変わったときは、管理者などの確かな情報と照合しよう。変更の警告を理由も確かめずに無視しないことが大切だね。
ひよこ ひよこ
パスワードと公開鍵の2方式だけ?
ペンギン先生 ペンギン先生
その2つはよく使う例だけれど、ほかにも認証方式があるよ。公開鍵認証では、サーバーへ登録した公開鍵に対応する秘密鍵を使えることをクライアントが証明する。パスワードを送らず認証できる一方、秘密鍵の流出や利用権限の管理には注意が必要だよ。
ひよこ ひよこ
SSH鍵はどう作るの?
ペンギン先生 ペンギン先生
OpenSSHでの例は `ssh-keygen -t ed25519` だよ。利用先が対応する方式を選び、保存先を確認する。公開鍵をサーバーの `~/.ssh/authorized_keys` などへ登録し、秘密鍵は渡さない。必要に応じてパスフレーズで保護しよう。実行時は既存の鍵を上書きしないよう確認するんだ。
ひよこ ひよこ
便利な機能もある?
ペンギン先生 ペンギン先生
`~/.ssh/config` で接続先ごとの設定をまとめたり、`-J` で踏み台を経由したりできる。`-L` は指定した通信をSSH経由で転送する機能で、SSHの相手から転送先までの区間まで必ず暗号化するものではないよ。ssh-agentは認証用の鍵を保持して入力の手間を減らす。転送や鍵の保持も必要な範囲と時間に絞ろう。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「SSH」って出てきたら「認証と暗号化を使って遠隔操作などを行う仕組み」と思えばだいたいOK!
📖 おまけ:英語の意味
「Secure Shell」 = 安全なシェル
💬 Secureは安全な、Shellはコマンド操作の窓口という意味。遠隔操作だけでなく、ファイル転送などにも使われるよ

参考資料

← 用語集にもどる