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件を見る

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

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

詳しく読む

Gitの Detached HEAD の意味と直し方

ブランチ名ではなく特定のコミットIDを直接チェックアウトした状態「Detached HEAD」から、安全に元のブランチに戻る方法を解説します。

詳しく読む

Gitのコンフリクト(競合)解消のやり方

複数人で同じファイルを編集して `git merge` や `git pull` した際に発生する「コンフリクト」の直し方と安全な運用方法を解説します。

詳しく読む

Cannot connect to the Docker daemon の原因と解決策

Dockerコマンド実行時に「Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?」と表示されるエラーの直し方を解説します。

詳しく読む

git rebase と git merge の違い・使い分け

コミット履歴を綺麗に保つための `git rebase` の仕組みと、`merge` との決定的な違い、実務での使い分けについて図解します。

詳しく読む

tailコマンドとは?リアルタイムなログ監視の実務テクニックを解説

ファイルの末尾を表示する「tail」コマンドについて、-fオプションを使ったリアルタイムなログ監視やエラー調査の基本を解説します。

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

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

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

Sponsored Link

バグ・要望を報告する