通过SSH传输文件

我想通过SSH在一些脚本上使用文件传输。 我读过它可以tar ssh。 我应该从哪里开始阅读?

要通过SSH进行文件传输,你可以

  • 使用scp
    • scp -r /srcdir/ user@remotehost:/destdir/
  • 在ssh上使用rsync (请参阅-e参数)
    • rsync -e ssh -a /srcdir/ user@remotehost:/destdir/
  • 使用一些通过stdin / out( tar , cpio等)传输数据的工具
    • cd /sourcedir; tar -c . | ssh username@remotehost bash 'cd /dstdir; tar -x
  • 通过sshfs挂载文件系统(如果系统支持保险丝)

O'Reilly有一本书 – SSH,Secure Shell:权威指南 – 如果你是Google的话,有很多参考资料,购买地点和在线查看。

对于通过ssh的tar,你可以使用ssh转发stdin和stdout。 所以你可以做

 ssh server 'tar czf - /some/dir/' > tarfile.tar.gz 

并在本地机器上备份。