SSHでLinuxサーバーへ接続する方法:Linux、macOS、Windowsのコマンド

読了時間 4分
Tropic
SSHでLinuxサーバーへ接続する方法:Linux、macOS、Windowsのコマンド

SSHでLinuxサーバーへ接続する方法

SSH接続は、Linuxサーバーのターミナルに入り、パッケージをインストールし、ログを確認し、サービスを再起動したりプロジェクトをアップロードしたりするときに役立ちます。初回接続に長い理論は必要ありません。多くの場合、1つのコマンドと正しいアクセス情報で十分です。

まず最短の接続方法を説明し、その後でWindows、Linux、macOSの違い、よくあるエラー、基本的な安全対策を確認します。

LinuxサーバーへSSHですぐに接続する

サーバーのIPアドレス、ユーザー名、パスワードまたはキーが分かっていれば、準備はほとんど必要ありません。初回ログインは通常、次の1コマンドです。

ssh username@server_ip

SSHサーバーが標準以外のポートで待ち受けている場合は、-pを追加します。

ssh -p 2222 username@server_ip

キーによるログインが設定されている場合は、秘密鍵へのパスを指定します。

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

これでサーバーに入り、作業を始められます。ただし、必要な情報、OSごとの接続方法、安全なアクセスの作り方も理解しておくと安心です。

接続に必要なもの

SSH(Secure Shell)は、サーバーのコマンドラインを遠隔で開く安全な方法です。通常、初回接続には次が必要です。

  • サーバーのIPアドレスまたはドメイン
  • rootubuntuadminなどのユーザー名
  • パスワードまたは秘密SSHキー
  • 標準の22以外を使う場合はSSHポート
  • サーバー側で有効になったSSHアクセス

ログインに成功すると、遠隔のLinuxサーバーのターミナルに入り、ローカルで作業するようにコマンドを実行できます。

サーバーがキーを使う場合

キーでログインすると、サーバーは秘密鍵が登録済みの公開鍵と一致するか確認します。この場合、パスワードをまったく使わないこともあります。キー認証は定期的な作業で、一般により信頼性が高く便利です。

通常の手順は次の通りです。

  1. 自分のコンピューターでキーを作成します。
  2. 公開鍵をサーバーに追加します。
  3. 毎回パスワードを入力せずにsshで接続します。

LinuxとmacOSでは、次のコマンドでキーを生成することがよくあります。

ssh-keygen -t ed25519

LinuxとmacOSから接続する

SSHはLinuxとmacOSに通常すでにインストールされています。ターミナルを開いて実行します。

ssh username@server_ip

別のポートが必要なら、次を使います。

ssh -p 2222 username@server_ip

キーで接続する場合は次のコマンドです。

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

初回ログイン後、目的のサーバーに接続できたことをすぐ確認すると安全です。

hostname
whoami

複数のサーバーや環境を管理する場合に、とても役立つ簡単な習慣です。

Windowsから接続する

Windowsでは、PowerShellやWindows Terminalに組み込まれたOpenSSHと、PuTTYのような別のクライアントを使えます。多くの作業では組み込みの方法が最も簡単です。

PowerShellを開き、次を実行します。

ssh username@server_ip

標準以外のポートの場合:

ssh -p 2222 username@server_ip

キーを使うなら、そのパスを指定します。

ssh -i $env:USERPROFILE\.ssh\id_ed25519 username@server_ip

PuTTYも同じ考え方です。アドレス、ポート、ユーザー名を入力し、キー認証ではクライアント設定で.ppkキーを読み込みます。

WindowsでSSHが起動しない場合

組み込みのSSHクライアントがインストールされていないことがあります。Windowsの設定でOpenSSH Clientコンポーネントを有効にするか、一時的にPuTTYを使います。

よくある接続エラー

問題はコマンドそのものではなく、パラメーターのどれかにあることが多いです。

Connection refused

通常は、サーバーでSSHサービスが動作していないか、ポートが閉じています。sshdが動作しているか、必要なポートがファイアウォールとサーバーの管理パネルで開いているかを確認します。

Permission denied

ユーザー名、パスワード、キーのいずれかが正しくないことがほとんどです。ログイン名、キーの正しいパス、公開鍵の登録、キーの一致を確認してください。

Host key verification failed

このメッセージは、SSHが認識しているサーバーの一覧であるknown_hostsに関係します。OSの再インストール、IPアドレスの変更、サーバーの再作成後に表示されることがあります。接続先が正しいと確認できたら、古いエントリを削除します。

ssh-keygen -R server_ip

その後もう一度接続し、新しいサーバーキーを確認します。

Could not resolve hostname

DNSでホスト名が見つからないか、アドレスに入力ミスがあります。確認としてIPアドレスで接続してみてください。

SSHをより安全に使う

SSH自体は保護されていますが、いくつかの基本設定でミスや不要なログの量を大きく減らせます。

パスワードではなくSSHキーを使う

キー認証は定期的な作業で信頼性が高く便利です。サーバーがすでにキー用に設定されているなら、最初からキーを使います。

rootでのログインを無効にする

日常作業で直接rootとしてログインする必要はありません。通常ユーザーで接続し、必要な場合だけsudoで権限を上げる方が安全です。

追加対策として標準ポートを変更する

222222など別の値に変更できます。サーバーを攻撃から見えなくするものではありませんが、標準ポートだけを探す無差別スキャンやボットを減らせます。

known_hostsを確認する

SSHがサーバーキーの変更を警告したときは、メッセージを無視しないでください。無害な理由もありますが、なりすましの可能性もあります。サーバーを再インストールまたは交換した場合は、確認してからknown_hostsのエントリを更新します。

サーバー選びとの関係

VPSや専用サーバーを借りると、SSHが主な作業経路になります。パッケージのインストール、システム更新、Dockerのデプロイ、ログ確認、サービス状態の確認をSSHで行います。アクセスが安定していれば、不可解なログイン問題の調査ではなく作業に時間を使えます。

そのためホスティング会社を選ぶ際は、CPU、RAM、ディスク容量だけでなく、明確なSSHアクセスをすぐ得られるか、サーバーのパラメーターを確認しやすいか、管理を開始しやすいかも見ます。これらの用途にはtropic.hostが、余計な準備なしでVPSを始める実用的な選択肢になります。

短いまとめ

SSHでLinuxサーバーへ接続するのは通常簡単です。アドレス、ユーザー、パスワードまたはキーが必要です。LinuxとmacOSはターミナルだけで接続でき、Windowsでは組み込みのOpenSSHまたはPuTTYを使えます。失敗したら、まずポート、ログイン名、キー、known_hosts、続いてサーバー設定を確認します。定期的な作業ではSSHキーを使い、rootログインを無効にし、標準以外のポートを追加対策として利用しましょう。

FAQ

初回接続にはどのSSHコマンドを使いますか?

通常はssh username@server_ipで十分です。SSHが別のポートで動いている場合は-pを追加します。

WindowsからSSHでLinuxサーバーに接続できますか?

はい。PowerShellまたはWindows Terminalの組み込みsshコマンドが最も簡単です。PuTTYも利用できます。

SSHが新しいサーバーキーの確認を求めたらどうしますか?

サーバーを再インストールした、またはIPアドレスが変わった場合は正常です。理由が分からない場合は、目的のマシンに接続していることを先に確認してください。

SSHキーはなぜパスワードより優れていますか?

キーは定期作業で便利で、通常はパスワードより信頼性があります。認証情報を推測されるリスクを下げ、毎回パスワードを入力せずログインできます。

SSHポートの変更は必須ですか?

必須ではありません。ただしポート変更は、大規模な自動スキャンに対する追加の防御層として役立ちます。