選ぶ知識を、あなたの力に。
当サイトはプロモーションを含みます
記事一覧へVPS

VPSのSSH接続方法とエラー解決|Windows・Mac対応

公開 2026.09.10 約10分
PCからVPSへSSH接続してエラーを確認するイメージ

VPSへのSSH接続をWindows・Mac別に解説し、timeout、refused、Permission denied、ホスト鍵警告の原因と対処を整理します。

SSHは、手元のPCからLinux VPSを安全に操作するための仕組みです。接続できないときは、コマンドを何度も変えるより「VPSの起動」「IPとポート」「ネットワーク」「SSHサービス」「認証」の順で切り分けると早く解決できます。

本記事ではWindows PowerShell、macOS、LinuxのOpenSSHを想定します。秘密鍵の内容をチャット、メール、スクリーンショットへ載せないでください。

SSH接続に必要な4つの情報

  1. VPSのIPアドレスまたはホスト名
  2. ログインユーザー名
  3. SSHポート番号(通常は22)
  4. パスワードまたは秘密鍵の保存場所

初期ユーザー名はrootubuntuなど事業者とOSイメージで異なります。申込み完了メールや管理画面で確認します。

WindowsからSSH接続する

PowerShellまたはWindows Terminalを開き、次のように入力します。

ssh username@203.0.113.10

秘密鍵を指定する場合は-iを使います。

ssh -i "C:\Users\user\.ssh\vps_ed25519" username@203.0.113.10

ポートが22以外なら-pを加えます。

ssh -p 2222 -i "C:\Users\user\.ssh\vps_ed25519" username@203.0.113.10

初回のフィンガープリントは、管理画面や別経路で確認してから承認します。

Mac・LinuxからSSH接続する

ターミナルで基本形は同じです。

ssh username@203.0.113.10

秘密鍵の権限が広すぎると拒否されるため、必要に応じて修正します。

chmod 600 ~/.ssh/vps_ed25519
ssh -i ~/.ssh/vps_ed25519 username@203.0.113.10

接続できないときの共通確認

まずVPS管理画面で、サーバーが起動中か、IPが変わっていないか確認します。次に、自宅回線や会社ネットワークがSSHを遮断していないかを別回線で試します。ブラウザコンソールへ入れるなら、VPS内部で次を確認します。

sudo systemctl status ssh
sudo ss -tlnp | grep ssh
sudo ufw status numbered

ログはUbuntuなら次のように調べます。

sudo journalctl -u ssh --since "30 minutes ago"

Connection timed outの原因

タイムアウトは、接続先まで通信が届いていない可能性が高いエラーです。

  • IPアドレスまたはポートが違う
  • VPSが停止している
  • 事業者側のパケットフィルターが拒否している
  • UFWでSSHを許可していない
  • 自宅・社内ネットワークが22番ポートを遮断している

SSHポートを変更した直後なら、旧ポートと新ポートの両方を一時許可し、新ポートで接続確認後に旧ルールを閉じます。

Connection refusedの原因

接続先から拒否された場合は、IPへ到達しているものの、そのポートでSSHが待ち受けていない可能性があります。

sudo systemctl restart ssh
sudo systemctl status ssh
sudo sshd -t

sshd -tで設定エラーを確認してから再起動します。設定ファイルを編集した直後は、構文エラーやポート番号の不一致を疑います。

Permission deniedの原因

Permission denied (publickey)は認証に失敗しています。

  • ユーザー名が違う
  • 別の秘密鍵を指定している
  • 公開鍵が対象ユーザーのauthorized_keysにない
  • .sshauthorized_keysの所有者・権限が違う
  • サーバー側で選んだ認証方式が無効

ブラウザコンソールから次を確認します。

ls -ld ~/.ssh
ls -l ~/.ssh/authorized_keys

対象ユーザーのホームディレクトリを見ているかも確認してください。

ホスト鍵が変わったという警告

OS再インストールやIP再利用の後は、REMOTE HOST IDENTIFICATION HAS CHANGEDと表示されることがあります。まず、第三者によるなりすましではなく、自分が再構築したVPSであることを管理画面から確認します。そのうえで該当ホストの古い記録を削除します。

ssh-keygen -R 203.0.113.10

確認せずにknown_hosts全体を削除すると、ほかの接続先の検証情報まで失います。

ssh configで接続を簡単にする

毎回長いコマンドを入力する代わりに、手元の~/.ssh/configへ登録できます。

Host my-vps
    HostName 203.0.113.10
    User username
    Port 22
    IdentityFile ~/.ssh/vps_ed25519

以後はssh my-vpsで接続できます。秘密鍵そのものではなく、ファイルの場所を指定します。

SSH設定を安全に変更する順番

  1. 新しい一般ユーザーを作る
  2. 公開鍵を登録する
  3. 別ウィンドウで鍵認証を確認する
  4. ブラウザコンソールを開けることを確認する
  5. パスワード認証・rootログインの制限を適用する
  6. 現在の接続を残したまま再接続を試す

一度に複数項目を変えると原因を特定しにくくなります。変更ごとに接続を検証してください。

まとめ

SSHエラーは、起動状態、IP・ポート、ファイアウォール、SSHサービス、認証の順に切り分けます。秘密鍵を再発行する前に、ユーザー名と権限、サーバーログを確認するのが近道です。接続後はUbuntu VPSの初期設定セキュリティ初期設定を進めてください。

本記事は情報提供を目的としたもので、契約・投資判断はご自身の責任で行ってください。