Linuxのsshコマンドを利用してファイルを転送する方法

Linux の ssh コマンドでファイルを転送するには幾通りか方法がありますが、ここではよく使われる方法を 2 つ紹介します。

  1. scpコマンドは、ローカルホストとリモートホスト間でファイルを送信するために使用されるコマンドです。使い方は次のとおりです。
scp [选项] [源文件] [目标地址]

その選択肢には次のものが含まれます。

  1. リモートホストのSSHポート番号を指定する。
  2. -r: 指定递归地复制整个目录。
  3. i: 秘密鍵ファイルを指定する。

例えば、本机上のファイル file.txt をリモートホストのディレクトリ/home/user/に転送する場合には、このコマンドが使用できます。

scp file.txt username@remote:/home/user/
  1. rsyncコマンドを使って、ファイルをローカルマシンとリモートホストの間で同期します。
rsync [选项] [源文件] [目标地址]

選択肢には以下が含まれます。

  1. 遠隔シェルプログラムの指定。デフォルトはSSH。
  2. -r: ディレクトリ全体を再帰的にコピーする。
  3. アーカイブモード,ファイルの属性と権限を保持
  4. データ送信を圧縮する。
  5. 転送するローカルのファイルまたはディレクトリ。

たとえば、localディレクトリdirをリモートホストのディレクトリ/home/user/に転送するには、次のコマンドを使用します。

rsync -avz dir/ username@remote:/home/user/

SCPコマンドでもrsyncコマンドでも、認証のためにリモートホストのログインユーザ名とパスワード、または秘密鍵ファイルの指定が必要となります。

bannerAds