実例で学ぶ 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、認証、ネットワークに関する用語を説明します。