SSHキー認証をVPSに設定する方法【Linux初心者向け手順】

by | Aug 2, 2026 | Uncategorized

VPSサーバーを借りたら、まず最初に行うべきセキュリティ対策がSSH鍵認証の設定です。デフォルトのパスワード認証のままでは、総当たり攻撃(ブルートフォース)の標的となり、乗っ取りリスクが非常に高くなります。

本記事では、ssh 鍵認証 vps 設定をテーマに、Linux初心者の方でも迷わず作業できるよう、鍵ペアの生成から公開鍵の登録、パスワード認証の無効化までを段階的に解説します。ConoHa、Xserver VPS、さくらのVPSなど、主要なVPSサービスに共通して使える手順です。

SSH鍵認証とは?なぜVPSに必須なのか

SSH鍵認証とは、公開鍵と秘密鍵のペアを使ってサーバーへ接続する仕組みです。パスワード認証との違いを表にまとめました。

項目 パスワード認証 SSH鍵認証
セキュリティ強度 低い(推測可能) 非常に高い
ブルートフォース耐性 弱い 実質不可能
利便性 毎回入力必要 自動接続可能
鍵の管理 不要 秘密鍵の厳重管理が必須

2026年現在、VPSに対する自動攻撃はますます高度化しており、SSH鍵認証はもはや「推奨」ではなく「必須」と言える時代になっています。

ssh key terminal

事前準備:必要な環境と情報

作業を始める前に、以下を用意してください。

  • VPSサーバーのIPアドレス
  • 初期ログイン用のユーザー名とパスワード(またはコンソールアクセス)
  • ローカルPC(Linux / macOS / Windows 10以降)
  • ターミナル(macOS/Linux)またはPowerShell/Windows Terminal

Windows 10/11には標準でOpenSSHクライアントが搭載されているため、追加ソフトなしで作業できます。

ステップ1:ローカルPCでSSH鍵ペアを生成する

まずは自分のPC上で鍵ペアを作成します。ターミナルを開き、以下のコマンドを実行してください。

ssh-keygen -t ed25519 -C "[email protected]"

ed25519は現在推奨されている最新のアルゴリズムで、RSAより高速かつ安全です。古い環境で互換性が必要な場合のみ、以下のRSAを使ってください。

ssh-keygen -t rsa -b 4096 -C "[email protected]"

コマンド実行後、以下のように尋ねられます。

  1. 保存先:デフォルトの ~/.ssh/id_ed25519 でEnterでOK
  2. パスフレーズ:秘密鍵の暗号化用パスワード。必ず設定することを強く推奨
  3. 確認用パスフレーズ:同じものを再入力

完了すると、以下の2つのファイルが生成されます。

  • ~/.ssh/id_ed25519秘密鍵(絶対に外部に漏らさない)
  • ~/.ssh/id_ed25519.pub公開鍵(サーバーに登録する)

ステップ2:公開鍵をVPSに登録する

公開鍵をVPSサーバー側に登録する方法は主に2つあります。

方法A:ssh-copy-idコマンドを使う(最も簡単)

ssh-copy-id -i ~/.ssh/id_ed25519.pub username@your_vps_ip

初期パスワードを入力すれば、自動的に ~/.ssh/authorized_keys に公開鍵が追記されます。

方法B:手動で登録する

ssh-copy-idが使えない環境(Windows標準環境など)では、手動で登録します。

1. 公開鍵の内容を表示してコピー

cat ~/.ssh/id_ed25519.pub

2. VPSにパスワードでログイン

ssh username@your_vps_ip

3. .sshディレクトリを作成し公開鍵を登録

mkdir -p ~/.ssh
chmod 700 ~/.ssh
echo "コピーした公開鍵の内容をここに貼り付け" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

パーミッションは非常に重要です。権限が緩いとSSHが公開鍵を無視してしまいます。

ステップ3:鍵認証でログインできるか確認する

一度ログアウトして、鍵認証で接続できるかテストします。

ssh -i ~/.ssh/id_ed25519 username@your_vps_ip

パスフレーズを入力してログインできれば成功です。この確認が終わるまで、絶対に次のステップに進まないでください。

ssh key terminal

ステップ4:パスワード認証を無効化する

鍵認証で確実にログインできることを確認したら、パスワード認証を無効化してセキュリティを強化します。

1. sshd_configを編集

sudo nano /etc/ssh/sshd_config

2. 以下の項目を変更

設定項目 変更後の値 意味
PasswordAuthentication no パスワード認証を無効化
PubkeyAuthentication yes 公開鍵認証を有効化
PermitRootLogin no rootでの直接ログインを禁止
ChallengeResponseAuthentication no チャレンジ応答認証も無効化

3. SSHサービスを再起動

sudo systemctl restart ssh

Ubuntu 24.04以降では sudo systemctl restart sshd の場合もあります。

ステップ5:SSH接続を簡単にするconfig設定(おすすめ)

毎回長いコマンドを打つのは面倒です。ローカルPCの ~/.ssh/config に以下を記述すると便利です。

Host myvps
    HostName your_vps_ip
    User username
    Port 22
    IdentityFile ~/.ssh/id_ed25519

これで ssh myvps だけで接続できるようになります。

さらにセキュリティを強化する追加設定

基本設定に加え、以下を実施するとより堅牢になります。

  • SSHポートを22番から変更(例:52200番など)
  • fail2ban導入で不正アクセスを自動ブロック
  • ufwやfirewalldでファイアウォール設定
  • 特定IPからのみ接続許可(AllowUsers設定)

よくあるトラブルと対処法

「Permission denied (publickey)」と出て接続できない

  • 秘密鍵のパスが正しいか確認(ssh -v で詳細ログ表示)
  • サーバー側の ~/.ssh は700、authorized_keys は600になっているか
  • ホームディレクトリのパーミッションが緩すぎない(755以下)か

パスワード認証を無効化したらログインできなくなった

各VPSプロバイダが提供するコンソール(Webブラウザ経由の緊急アクセス)を使えば、鍵認証を経由せずにログインできます。ConoHaやXserver VPS、さくらのVPSにはすべてこの機能があります。

Windowsで公開鍵をコピーするときに改行が混入する

メモ帳ではなく、PowerShellの type コマンドや、Windows Terminalで直接表示してコピーするのが確実です。

ssh-agentにパスフレーズを毎回聞かれる

以下のコマンドで鍵をエージェントに登録すれば、セッション中は再入力不要になります。

eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519

FAQ:SSH鍵認証に関するよくある質問

Q1. 秘密鍵をなくしたらどうなりますか?

該当のVPSにログインできなくなります。プロバイダのコンソールから緊急ログインし、新しい鍵を登録してください。だからこそ、パスフレーズ付きで秘密鍵をバックアップしておくことが重要です。

Q2. 複数のPCから同じVPSに接続したい場合は?

各PCで鍵ペアを生成し、それぞれの公開鍵を authorized_keys に追記してください。1つの秘密鍵を複数のPCで使い回すのは避けましょう。

Q3. ed25519とRSA、どちらを使うべき?

2026年現在はed25519が推奨です。より短い鍵長で高いセキュリティを実現でき、処理速度も高速です。特別な理由がない限りed25519を選びましょう。

Q4. ConoHaやXserver VPSでは管理画面から鍵を作成できますが、どちらが良い?

管理画面での鍵生成も可能ですが、秘密鍵をローカルで生成する方がセキュアです。秘密鍵がネットワーク上を通らないため、漏洩リスクが最小化されます。

Q5. パスフレーズは本当に必要ですか?

強く推奨します。万が一秘密鍵ファイルが盗まれても、パスフレーズがなければ悪用できません。ssh-agentと組み合わせれば利便性も損なわれません。

まとめ

VPSへのSSH鍵認証設定は、Linux初心者にとって最初の関門ですが、一度覚えれば全てのサーバー運用に応用できる重要スキルです。ポイントを再確認しましょう。

  1. ローカルPCで ed25519 鍵ペアを生成する
  2. 公開鍵をVPSの authorized_keys に登録する
  3. 鍵認証でログインできることを必ず確認する
  4. sshd_config でパスワード認証を無効化する
  5. fail2banやポート変更などで追加のセキュリティ対策を行う

正しく設定すれば、VPSは非常に安全なインフラとなります。この記事を参考に、ぜひ堅牢なサーバー環境を構築してください。

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *

について

オザサハヤシは、日本の国境を越えて、世界中の素晴らしい中堅アーティストを紹介するエキサイティングな現代アートギャラリーです。私たちの使命は、これらの才能あるアーティストに作品を展示する場を提供し、より多くの観客にアプローチすることです。

カテゴリー