~/.ssh/config ファイル:長いコマンドの代わりに短い名前
マシンを一度記述して 2 語のコマンドで接続する方法、鍵・ユーザー・ポートの設定、接続を維持する方法について説明します。
更新日 2026年8月23日
ssh -i ~/.ssh/id_ed25519 -p 22 root@203.0.113.10 の代わりに、ssh vds と入力できます。設定はお使いのパソコンで一度行うだけです。
ファイルの場所
macOS と Linux では ~/.ssh/config です。Windows では C:\Users\<you>\.ssh\config(Windows Terminal では同じ ~/.ssh/config パス)です。ファイルが存在しない場合もあるので、作成してください:
mkdir -p ~/.ssh
nano ~/.ssh/config
chmod 600 ~/.ssh/config
パーミッションは重要です。ファイルが誰からでも読み取り可能な場合、クライアントが読み取りを拒否することがあります。
最小限のエントリ
Host vds
HostName 203.0.113.10
User root
IdentityFile ~/.ssh/id_ed25519
これで動作します:
ssh vds
他のツールもこの短い名前を認識します:
scp dump.sql vds:/root/
sftp vds
rsync -avz ./site/ vds:/var/www/site/
ファイルのコピーについては、scp と rsync および SFTP をご覧ください。
便利なパラメータ
Host vds
HostName 203.0.113.10
User artem
Port 22
IdentityFile ~/.ssh/id_ed25519
IdentitiesOnly yes
ServerAliveInterval 30
ServerAliveCountMax 3
| パラメータ | 必要な理由 |
|---|---|
IdentitiesOnly yes | クライアントは指定された鍵だけを提示します。鍵が多く、サーバーが試行を打ち切る場合に役立ちます |
ServerAliveInterval | 30 秒ごとにパケットを送信し、無操作による接続切断を防ぎます |
Port | SSH を非標準ポートに移した場合に使用します |
User | このホストのデフォルトユーザー名です |
複数のマシン
Host vds-web
HostName 203.0.113.10
User root
IdentityFile ~/.ssh/id_ed25519
Host vds-db
HostName 203.0.113.20
User artem
IdentityFile ~/.ssh/id_ed25519
Host *
ServerAliveInterval 30
Host * ブロックはすべてのエントリに共通の設定を適用します。順序が重要です。各パラメータは最初に一致したものが優先されるため、共通ブロックは一番下に置いてください。
よくある間違い
- タブによるインデントと行末の空白 — 一部のクライアントがエラーを出します。スペース 4 個を使用してください。
- Windows でバックスラッシュを使った鍵のパス —
~/.ssh/id_ed25519と記述してください。 HostNameの欠落 — クライアントはvdsという名前のホストに接続しようとし、見つけられません。- ファイルのパーミッションが 644 —
600に設定してください。
特定のホストに実際に適用される設定を確認するには:
ssh -G vds
ssh -v vds
1 つ目のコマンドは結果のパラメータを出力し、2 つ目は接続の進行状況を表示します。どの鍵が提示されたかを確認できます。
configファイルはご自身側の設定のみを記述します。マシンが何を受け入れるかはその/etc/ssh/sshd_configで決まります。SSH 鍵をご覧ください。