web-dev-qa-db-ja.com

SSHを使用してマシン間でファイルをコピーする方法

Linux(centos)マシンを使用していますが、sshを使用してすでに他のシステムに接続しています。私の質問は、あるシステムから別のシステムにファイルをコピーするにはどうすればよいですか?

私の環境で、System ASystem Bのような2つのシステムがあるとします。 System AマシンとSystem Bマシンを使用しています。

System BからSystem Aにファイルをコピーするにはどうすればよいですか?そして、System AからSystem Bにファイルをコピーしますか?

767
user3021349

構文:

scp <source> <destination>

BにログインしているときにAからBにファイルをコピーするには:

scp /path/to/file username@a:/path/to/destination

BにログインしているときにAからAにファイルをコピーするには:

scp username@b:/path/to/file /path/to/destination
1107
DopeGhoti

代替アプローチが必要な場合。

Sshfsをインストールします。 ubuntu/debianを使用する場合:

Sudo apt-get install sshfs

または、centos/rhelを使用する場合:

Sudo yum install Fuse-sshfs

または、macOS

brew install sshfs

空のディレクトリを作成する

mkdir /home/user/testdir

2つのディレクトリを「リンク」または「マウント」

sshfs [email protected]:/remote/dir /home/user/testdir

dirsを「リンク解除」

fusermount -u /home/user/testdir

BSDおよびmacOSでは、ファイルシステムをマウント解除するには:

umount mountpoint

または

diskutil unmount mountpoint

詳細については、こちらをご覧ください linuxjournal.comlibfuse/sshfs

120
Ruban Savvy

時々、tarを使いこなす必要があります:

tar -C / -cf - \
  opt/widget etc/widget etc/cron.d/widget etc/init.d/widget \
  --exclude=opt/widget/local.conf | 
  ssh otherhost tar -C / -xvf -
50
Dan Garthwaite

両方のシステムのファイルを同期させておきたい場合は、rsyncプログラムを確認してください。

(こちらのチュートリアルを参照)

23
Kiffin