コース一覧
Linuxネットワーク
リモート接続 SSH

Linuxネットワーク

ネットワーク基礎、SSH、curl、scp、rsync、環境変数を学び、Linux環境の接続・転送・設定を自分で確認できるようにします。

1
ネットワークとSSH接続
0. ネットワークの基礎知識5分
1. ping で接続確認5分
2. curl で HTTP リクエスト5分
3. ネットワーク情報の確認5分
4. リモート接続 SSH5分
5. scp でファイル転送5分
6. rsync で効率的に同期5分
7. ネットワークチェック5分
2
環境変数とシェルのカスタマイズ
0. 環境変数とは5分
1. 環境変数の確認と設定5分
2. シェル設定ファイル5分
3. エイリアスで効率化5分
4. PATH を理解する5分
5. 環境設定チェック5分

Linuxネットワーク

01ネットワークの基礎知識
02ping で接続確認
03curl で HTTP リクエスト
04ネットワーク情報の確認
05リモート接続 SSH
06scp でファイル転送
07rsync で効率的に同期
08ネットワークチェック
09環境変数とは
10環境変数の確認と設定
11シェル設定ファイル
12エイリアスで効率化
13PATH を理解する
14環境設定チェック

Linuxネットワーク

リモート接続 SSH

いま打っているのはどちらのパソコンか

22 番は、世界中から総当たりされている

インターネットに置いたサーバーの認証ログを開くと、知らない国から root や admin でのログイン試行が 1 日に何千件も並んでいます。相手は人間ではなく、辞書を順に試すプログラムです。

パスワードは、いつか当たる可能性がある文字列です。だから本番サーバーへの接続には鍵を使います。鍵は文字数が桁違いに多く、総当たりで当てることが現実的に不可能なので、パスワードを覚える必要も、破られる心配も無くなります。パスワード認証は最初から使わない前提で組んでください。

ターミナル

ssh deploy@example.com
# 相手のサーバーのシェルが手元のターミナルに出てくる

初回だけ、相手の身元を示す文字列を確認するかと聞かれます。yes と答えると ~/.ssh/known_hosts に記録され、次回からは自動で照合されます。ここで毎回警告が出るなら、相手が作り直されたか、途中で誰かがすり替わっています。

鍵は 2 つで 1 組になっている

作るのは 1 回です。アルゴリズムはいくつかありますが、いまは Ed25519 を選んでおけば十分です。

ターミナル

ssh-keygen -t ed25519 -C "自分のメールアドレス"
# ~/.ssh/id_ed25519      秘密鍵  自分の手元にだけ置く
# ~/.ssh/id_ed25519.pub  公開鍵  相手のサーバーに登録する

.pub が付く方が公開鍵で、これはサーバーに渡すために作られたものです。.pub が付かない方が秘密鍵で、これは誰にも渡しません。 チャットに貼らない、同僚と共有しない、リポジトリに入れない。この 3 つだけ守ってください。誤ってコミットしてしまったら、消して済ませず作り直します。

公開鍵をサーバー側に置く作業は、コマンドが用意されています。

ターミナル

ssh-copy-id deploy@example.com
# 一度だけパスワードを聞かれ、以降は鍵で入れるようになる

権限が緩いと、鍵は黙って無視される

鍵を置いたのに Permission denied (publickey) が出続ける、という詰まり方をよくします。原因の大半はファイルの権限です。自分以外にも読めるファイルに置いた秘密鍵を、SSH は危険とみなして最初から使いません。エラー文には権限のことが書かれないので、気づくのに時間がかかります。

ターミナル

chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_ed25519

ディレクトリは本人だけが出入りでき、秘密鍵は本人だけが読み書きできる状態にします。サーバー側で公開鍵を並べておく ~/.ssh/authorized_keys も同じ考え方で、本人だけが書き換えられる必要があります。

解説

チームで同じ本番サーバーに入るときは、1 人 1 組の鍵を作って公開鍵を全員分並べます。1 つの鍵を共有すると、誰かが抜けるたびに全員の鍵を作り直すことになり、運用がすぐ回らなくなります。

このレッスンに出てくる用語

意味があいまいなまま進んだ語は、ここから読み直せます。

  • インターネット世界中のコンピュータをつなぐネットワークの集合体。
  • サーバークライアント(ブラウザなど)がリクエストを送り、サーバーがレスポンスを返す。
  • 認証「この人は本当に本人?」のチェック
  • パスワードDBが漏洩しても元のパスワードがわからないようにするため。
  • アルゴリズム問題を効率よく解く手順
  • 公開鍵サーバ側に登録する .pub ファイル
  • 秘密鍵ローカルだけに置く認証鍵
  • リポジトリプロジェクトの保管場所
生田 陸人
監修生田 陸人
ゆめさくエンジニア / 現役ソフトウェアエンジニア監修者プロフィールを見る →
編集 ゆめさく編集部·公開 2025/12/19·更新 2026/08/26

関連レッスン

  • scp でファイル転送

    離れたサーバへ安全にファイルを転送するscpコマンドを、ターミナルで実際に操作して習得します。

  • rsync で効率的に同期

    rsyncコマンドで、効率的にファイルやディレクトリを同期する方法を体験します。

  • ネットワークチェック

    ネットワークの基本コマンドに関する知識をクイズ形式でチェックしましょう。

  • 環境変数とは

    環境変数の意味と使い方を学びます。パスの設定などを理解しましょう。

分からないところは Tap (AI先生) に質問できます

24 時間いつでも、あなたのレベルに合わせて日本語で答えます。