Skip to content
VDS · マシンへのアクセス

~/.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クライアントは指定された鍵だけを提示します。鍵が多く、サーバーが試行を打ち切る場合に役立ちます
ServerAliveInterval30 秒ごとにパケットを送信し、無操作による接続切断を防ぎます
PortSSH を非標準ポートに移した場合に使用します
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 鍵をご覧ください。