Linuxのsshコマンドを利用してファイルを転送する方法
Linux の ssh コマンドでファイルを転送するには幾通りか方法がありますが、ここではよく使われる方法を 2 つ紹介します。
- scpコマンドは、ローカルホストとリモートホスト間でファイルを送信するために使用されるコマンドです。使い方は次のとおりです。
scp [选项] [源文件] [目标地址]
その選択肢には次のものが含まれます。
- リモートホストのSSHポート番号を指定する。
- -r: 指定递归地复制整个目录。
- i: 秘密鍵ファイルを指定する。
例えば、本机上のファイル file.txt をリモートホストのディレクトリ/home/user/に転送する場合には、このコマンドが使用できます。
scp file.txt username@remote:/home/user/
- rsyncコマンドを使って、ファイルをローカルマシンとリモートホストの間で同期します。
rsync [选项] [源文件] [目标地址]
選択肢には以下が含まれます。
- 遠隔シェルプログラムの指定。デフォルトはSSH。
- -r: ディレクトリ全体を再帰的にコピーする。
- アーカイブモード,ファイルの属性と権限を保持
- データ送信を圧縮する。
- 転送するローカルのファイルまたはディレクトリ。
たとえば、localディレクトリdirをリモートホストのディレクトリ/home/user/に転送するには、次のコマンドを使用します。
rsync -avz dir/ username@remote:/home/user/
SCPコマンドでもrsyncコマンドでも、認証のためにリモートホストのログインユーザ名とパスワード、または秘密鍵ファイルの指定が必要となります。