コース一覧
Linuxネットワーク
scp でファイル転送

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ネットワーク

scp でファイル転送

毎回 4 つ思い出さないと繋がらない

本番のサーバーは、22 番以外のポートで待ち受けていたり、ログイン名が手元の名前と違っていたり、鍵を複数使い分けていたりします。その結果、接続のたびにこういう行を書くことになります。

ターミナル

ssh -p 2222 -i ~/.ssh/id_ed25519 deploy@app-01.example.com

覚えていられません。履歴をさかのぼって探すことになり、探し当てるまでの 30 秒が毎回積み上がります。しかも、あとで届け先が増えたとき、どこを直せばいいのか分からなくなります。

別名を 1 回書いておく

~/.ssh/config に 1 件分の設定を書いておくと、以降は短い別名で呼べます。

プレーンテキスト

Host prod
  HostName app-01.example.com
  User deploy
  Port 2222

これだけで ssh prod が通ります。ポートを変更したときも、直すのはこの 1 か所です。同じ書き方で stg や db を並べれば、届け先の一覧が設定ファイルとして残ります。

大事なのは、この別名が SSH を土台に使う他のコマンドでもそのまま効くことです。ファイルを送るときも、覚え直す必要はありません。

送る向きは、書いた順で決まる

scp は SSH の上でファイルをやり取りするコマンドです。cp と同じく、先に書いた方から後に書いた方へ流れます。相手側を指すときは、別名のうしろにコロンとパスを続けます。

ターミナル

# 手元のビルド成果物をサーバーへ置く
scp -r dist/ prod:/var/www/app/

# サーバーのログを手元へ引き取る
scp prod:/var/log/app/error.log ~/work/

上と下の違いは、コロンの付いた側が左にあるか右にあるかだけです。ここを逆にすると、手元の新しいファイルが古いもので上書きされます。実行する前に、コロンがどちら側にあるかを一度目で確かめる癖をつけてください。

ディレクトリを丸ごと運ぶときは -r が要ります。付け忘れると、そのディレクトリは黙って無視されます。エラーらしいエラーが出ないまま何も届かないので、送ったつもりで先へ進んでしまいがちです。

送り先のディレクトリは、先に存在している必要があります。無い場合は新しいファイルとして作られてしまい、/var/www/app という名前のファイルの中に中身が書き込まれる、という妙な結果になります。届け先が新しいときは、一度ログインして作ってから送ってください。

小さいファイルが大量にあるときは、そのまま送ると 1 個ごとに手続きが走って遅くなります。先にひとまとめの書庫にしてから送ると、体感で桁が変わります。

ターミナル

tar czf logs.tar.gz logs/
scp logs.tar.gz prod:/tmp/
解説

Permission denied が出たら鍵の登録、Is a directory が出たら -r の付け忘れ、No such file or directory が出たら相手側のパスか書き込み権限を疑います。この 3 つでほとんど片付きます。

生田 陸人
監修生田 陸人
ゆめさくエンジニア / 現役ソフトウェアエンジニア監修者プロフィールを見る →
編集 ゆめさく編集部·公開 2025/12/19·更新 2026/08/26

関連レッスン

  • rsync で効率的に同期

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

  • ネットワークチェック

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

  • 環境変数とは

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

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

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