2026.06.29(月) / 23:11

SSH接続コマンドを理解する ー ssh -i -p USER@SERVER を分解する ー

ID
38678
Published
2026-06-29 23:11
Modified
2026-06-29 23:11
Author
khiro
Categories
デフォルト

SSH鍵を作成した後は、実際にサーバーへ接続する。

今回使用したコマンドは次の通りである。

ssh -i ~/.ssh/id_ed25519_xserver -p 10022 USER@SERVER

最初は「このコマンドを実行すれば接続できる」という認識しかなかった。

しかし、それぞれのオプションの意味を理解すると、どのサーバーへ接続する場合でも応用できる知識になる。

今回は、このコマンドを一つずつ分解して整理していく。

ssh

ssh

sshSecure Shell の略である。

ネットワーク経由でサーバーへ安全にログインするためのコマンドである。

例えば、自宅のMacからレンタルサーバーやVPS、クラウドサーバーへ接続し、ターミナル上で操作できる。

-i

-i ~/.ssh/id_ed25519_xserver

-iidentity file の略である。

SSH接続時に利用する秘密鍵を指定するオプションである。

今回指定した

~/.ssh/id_ed25519_xserver

は秘密鍵である。

SSHは、この秘密鍵を利用してサーバーへ認証を行う。

もし -i を指定しない場合は、

~/.ssh/id_ed25519

~/.ssh/id_rsa

など、SSHが標準で探す鍵が利用される。

複数のサーバー用に鍵を管理している場合は、-i を指定すると目的の鍵を利用できる。

-p

-p 10022

-pport の略である。

接続先のポート番号を指定する。

SSHの標準ポートは

22

である。

しかし、セキュリティ向上のために、22番以外のポートへ変更しているサーバーも多い。

今回利用したサーバーでは

10022

がSSH接続用ポートとして設定されていた。

そのため、接続時に

-p 10022

を指定する必要があった。

USER

USER

ここにはサーバーのユーザー名を指定する。

例えば

ubuntu
ec2-user
root

など、サーバーごとに異なる。

ユーザー名によって利用できる権限も変わる。

SERVER

SERVER

ここには接続先サーバーを指定する。

指定方法は様々である。

ホスト名

example.com

IPアドレス

192.168.1.100

クラウドサーバー

ec2-xxx.amazonaws.com

など、接続したいサーバーを指定する。

USER@SERVER

USER@SERVER

どのユーザーで
どのサーバーへ

接続するのかを表している。

例えば

ssh user@example.com

なら、

example.com に user としてログインする

という意味になる。

実際の流れ

今回のコマンド全体を図にすると次のようになる。

ローカルPC
│
├── 秘密鍵
│      ~/.ssh/id_ed25519_xserver
│
└── SSH接続
        │
        │ ポート10022
        ▼
サーバー
│
├── 公開鍵
└── USERアカウント

サーバーは登録済みの公開鍵を持っている。

ローカルPCは秘密鍵を持っている。

この2つが一致すると認証が成功し、指定したユーザーとしてログインできる。

コマンド全体の意味

ssh -i ~/.ssh/id_ed25519_xserver -p 10022 USER@SERVER

を日本語で表すと、

「秘密鍵 id_ed25519_xserver を使い、10022番ポート経由で、指定したユーザーとしてサーバーへSSH接続する。」

という意味になる。

まとめ

今まではSSH接続のコマンドをそのままコピーして利用していた。

しかし、それぞれのオプションの意味を理解すると、

  • 接続する秘密鍵
  • 接続ポート
  • 接続ユーザー
  • 接続先サーバー

を自由に変更できるようになる。

SSHはGitHubやGitLabだけでなく、レンタルサーバーやVPS、クラウドサービスなど幅広い環境で利用されている。

コマンドを暗記するのではなく、一つずつの意味を理解しておくことで、さまざまな環境でも応用できるようになる。