Official Sponsor

社内IT・情シス業務でお困りですか? 月額1,650円〜の情シス代行「Lapis Tech」

無料相談・IT診断はこちら
linux 2026-03-05

sshコマンドとは?公開鍵認証の仕組みと安全なサーバー接続の実務

Linuxの遠隔操作に必須の「ssh」コマンドについて、公開鍵・秘密鍵を使った安全な接続方法(公開鍵認証)や実務でのポート指定などを解説します。

sshコマンドとは?

ssh(Secure SHell)は、ネットワークを経由して別のコンピューター(サーバー)に安全に遠隔ログインし、操作するためのコマンドおよびプロトコルです。 通信経路がすべて暗号化されているため、パスワードや送受信するデータが第三者に盗聴される危険性が極めて低くなっています。

以前の技術(Telnet)との違い

昔は telnet というコマンドが使われていましたが、これは通信が平文(暗号化されていない状態)で行われるため、ネットワーク上の誰かにパスワードを丸見えで盗まれるリスクがありました。現在、インターネット経由のサーバー操作にTelnetを使うことはセキュリティ上絶対にあり得ません。

どのような場面で使われるか

AWSのEC2インスタンスや、さくらのVPSなど、クラウド上のLinuxサーバーに自分のパソコン(MacのターミナルやWindowsのPowerShell)から接続して作業する際に必ず使用します。

実務での「公開鍵認証」の仕組み

より安全にSSH 접속を行うため、実務ではIDとパスワードの入力による認証(パスワード認証)は設定で無効化し、「公開鍵認証方式」を利用するのが一般的です。

  1. 鍵ペアの作成 (ssh-keygen): 手元のパソコンで、自分だけが持つ「秘密鍵 (id_rsa)」と、サーバーに渡す「公開鍵 (id_rsa.pub)」のペアを作成します。
  2. 公開鍵の登録: サーバー側の ~/.ssh/authorized_keys ファイルに公開鍵の文字列を貼り付けます。
  3. SSH接続: ssh -i /path/to/private_key user@host と打つと、手元の秘密鍵とサーバーの公開鍵が数学的に照合され、合致すればパスワードなしでログインできます。

実務でよく使うオプション

  • ポート番号の指定 (-p): ssh -p 10022 user@192.168.1.10 セキュリティ対策として、デフォルトの「22番ポート」から別の番号に変更されているサーバーへ接続する際に使用します。
  • 秘密鍵ファイルの指定 (-i): ssh -i ~/.ssh/my_aws_key.pem ec2-user@aws-ip

実務上の注意点

秘密鍵(id_rsa.pem ファイル)の管理は厳重に行う必要があります。「絶対に他人に渡さない」「GitHubの公開リポジトリに誤ってプッシュしない」ことを徹底してください。

よくあるエラーやトラブルシュート

  • Permission denied (publickey): サーバー側に公開鍵が正しく登録されていないか、ログインしようとしているユーザー名(ec2-userubuntu など)が間違っている場合に発生します。
  • WARNING: UNPROTECTED PRIVATE KEY FILE!: 手元の秘密鍵ファイルの権限が緩すぎる(誰でも読める状態になっている)と、SSHクライアントが接続を拒否します。chmod 600 id_rsa を実行して自分だけが読める状態にする必要があります。

まとめ

sshはインフラエンジニアの「玄関の鍵」です。単なる接続だけでなく、公開鍵暗号方式の仕組みやファイルのパーミッション(chmod)の知識が複合的に求められるため、最初の大きな学習の壁でもあります。

おすすめの高速レンタルサーバー PR

関連する用語 (linux)

全12件を見る

curlコマンドとは?Web APIのテストやHTTP・JSON通信の実践例

URLを叩いて様々なリクエストを送信できる「curl」コマンドについて、REST APIのテスト(GET/POST)やヘッダー確認などの実務での使い方を解説。

詳しく読む

error: failed to push some refs to の原因

`git push` した時に「リモート側に自分が持っていない変更がある」として拒否された場合の原因と、`git pull` や `git push -f` の判断基準を解説します。

詳しく読む

git stash コマンドの使い方(作業の一時避難)

コミットせずに今の作業を一時保存できる `git stash` コマンドの使い方(保存・復元・一覧・削除)を実務ベースで解説します。

詳しく読む

chmodコマンドとは?Linuxの権限(パーミッション)変更を分かりやすく解説

Linuxの必須コマンド「chmod」について、777や644といった数字の意味から、実務でよく使う権限設定の定石まで徹底解説します。

詳しく読む

pingコマンドとは?ネットワーク疎通確認の仕組みと実務での活用

ネットワークの基本コマンド「ping」について、サーバー間の通信が届いているかを確認する仕組みとトラブルシューティングの初動対応を解説。

詳しく読む

grepコマンドとは?ログ調査やファイル検索の実践的な使い方を解説

Linuxの検索コマンド「grep」の基礎から、正規表現を使った高度な検索、実務でのログ調査テクニックまで詳しく解説します。

詳しく読む
PR: スポンサーリンク
法人・個人向けサポート 受付中

インフラ構築やトラブル対応で お困りではありませんか?

AWSの構築、社内ネットワーク(VPN/NW)の改善、その他原因不明のITトラブルまで、現役インフラエンジニアが直接サポートします。単発でのご相談や、毎月のスポット顧問契約も可能です。

Sponsored Link

バグ・要望を報告する