実例で学ぶ SSH

接続、鍵の管理、ファイル転送に役立つコマンドと実践的な解説。Secure Pipes のユーザーガイドとは独立した資料です。

特記しない限り、手元の Mac または Linux の zsh/bash で実行します。alice と *.example.com は例示用です。Windows OpenSSH ではパス、エージェント、利用可能なツールが異なります。ssh -V でバージョン、man <コマンド名> でローカルのマニュアルを確認できます。

接続とトンネル

ssh

サーバーへのログイン、コマンド実行、暗号化トンネルの作成。

鍵と認証

ssh-keygen

鍵ペアの作成、指紋の確認、秘密鍵のパスフレーズ変更。

ssh-copy-id

リモートアカウントの authorized_keys に公開鍵を登録。

ssh-agent

SSH クライアントが署名に利用する鍵をエージェントで管理。

ssh-add

既存のエージェントへの鍵の追加、一覧表示、削除。

ssh-keyscan

サーバーのホスト鍵を収集し、後で照合。

ファイル転送

scp

SSH 接続を使ってファイルをコピー。

sftp

SSH 経由で対話形式のファイル転送。

設定

~/.ssh/config

よく使う接続オプションをクライアント設定ファイルに保存。

sshd_config

OpenSSH サーバーを構成します: リスニング、認証、転送、アクセス制御、ロギング。

サーバーのセキュリティ

Fail2ban

Fail2ban をインストールして構成し、Ubuntu サーバーで繰り返される SSH 認証の失敗を一時的にブロックします。

SSH OTP

Linux PAM と Google Authenticator の PAM モジュールを使用して、時間ベースのワンタイム コードを SSH ログインに追加します。

SSH の強化

Ubuntu サーバーの SSH アクセスを確認し制限します。

SSH ファイアウォール

UFW のルールと SSH の接続元を確認します。

SSH 鍵の安全性

SSH 認証鍵を作成、配備、確認、交換します。

SSH の復旧

復旧手段を準備し SSH サーバーの設定を調査します。

付録

用語集

SSH、認証、ネットワークに関する用語を説明します。