「Linux」でscpコマンドを使ってファイル転送するには
今回は「「Linux」でscpコマンドを使ってファイル転送するには」についてご紹介します。
関連ワード (Linuxノウハウ、特集・解説等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、ZDNet Japan様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
「Linux」コンピューター間でファイルを転送したい場合、いくつかの選択肢がある。GUIツールを使う方法もあれば、使わない方法もある。よく使用されるファイル転送方法の中には、安全性の高いものもある。その1つがscpコマンドを使用する方法だ。
scpはSecure Copyの略で、SSHツールの一部だ。SSHツールは、ほぼすべてのLinuxディストリビューションに標準で搭載されている。つまり、この手順を実行するために、追加のソフトウェアをインストールする必要はない。
一見したところ、scpの使用は難しく思えるかもしれないが、実際にはそんなことはない。本記事では、その手順を解説する。これをマスターすれば、Linuxマシン間で簡単にファイルをやりとりできるようになる。
これを行うのに必要なのは、2台のLinuxマシンだけだ。使用するディストリビューションは何でも構わないが、両方のマシンにユーザーアカウントが必要だ(同じユーザーアカウントである必要はないが、それぞれのアカウントのパスワードを知っていなければならない)。これについては、すぐ後で詳しく説明する。
ローカルマシンにzdnet_testというファイルがあり、それをIPアドレス192.168.1.30にある別のマシンに送信したいとしよう。これを行うには、ローカルマシンにログインして、ターミナルウィンドウを開く。ローカルマシンとリモートマシンの両方で同じユーザー名を使用しているとしよう。その状況で、zdnet_testファイルをリモートマシンに送信するには、以下のコマンドを実行する。
/path/toはzdnet_testファイルのフルパス、USERはリモートマシンのユーザー名だ。
ユーザーのパスワードの入力を求められ、認証が成功すると、ファイルがコピーされる。
リモートマシンに別のユーザーがいる場合、コマンドは以下のようになる。
/path/toはzdnet_testファイルのフルパス、USERはリモートマシンのユーザー名だ。
この場合も、ファイルをコピーする前にユーザーパスワードの入力を求められる。
そのファイルを別のディレクトリー(ユーザーのホームディレクトリー以外)に送信することもできる。これに関しては、1つ注意点がある。それは、対象のディレクトリーへの書き込み許可が必要になることだ。例えば、そのファイルをリモートマシン上の/dataというディレクトリーにコピーしたいとしよう。リモートユーザーがそのディレクトリーにアクセスできる場合、コマンドは以下のようになる。
/path/toはzdnet_testファイルのフルパス、USERはリモートマシンのユーザー名だ。
この場合も、ファイルをコピーする前にユーザーパスワードの入力を求められる。
zdnet_testファイルがリモートコンピューター上にあり、それをローカルマシンにコピーしたいとしよう。これを行うには、以下のコマンドを実行する。
/path/toはzdnet_testファイルのフルパス、USERはリモートマシンのユーザー名だ。
今回も、ファイルをコピーする前にユーザーパスワードの入力を求められる。
ファイルを送信する場合と同様、リモートユーザーを定義して、ファイルの保存場所のパスを変更することも可能だ。
Linuxでscpコマンドを使用する手順の解説は、以上である。この便利な機能を活用して、Linuxマシン間で安全にファイルをやりとりしてほしい。