Linux SSH远程文件/目录传输命令scp

Web、Mail、Ftp、DNS、Proxy、VPN、Samba、LDAP 等基础网络服务
回复
wolfreka
帖子: 36
注册时间: 2008-08-29 21:13

Linux SSH远程文件/目录传输命令scp

#1

帖子 wolfreka » 2014-09-04 18:04

相信各位VPSer在使用VPS时会经常在不同VPS间互相备份数据或者转移数据,大部分情况下VPS上都已经安装了Nginx或者类似的web server,直接将要传输的文件放到web server的目录,然后在目标机器上执行:wget http://www.vpser.net/testfile.zip 就行了。当VPS上没有安装web server和ftp server的时候或感觉上面的方法比较麻烦,那么用scp命令就会排上用场。
一、scp是什么?

scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。可能会稍微影响一下速度。
二、scp有什么用?

1、我们需要获得远程服务器上的某个文件,远程服务器既没有配置ftp服务器,没有开启web服务器,也没有做共享,无法通过常规途径获得文件时,只需要通过scp命令便可轻松的达到目的。

2、我们需要将本机上的文件上传到远程服务器上,远程服务器没有开启ftp服务器或共享,无法通过常规途径上传是,只需要通过scp命令便可以轻松的达到目的。
三、scp使用方法
1、获取远程服务器上的文件

scp -P 2222 root@www.vpser.net:/root/lnmp0.4.tar.gz /home/lnmp0.4.tar.gz

上端口大写P 为参数,2222 表示更改SSH端口后的端口,如果没有更改SSH端口可以不用添加该参数。 root@www.vpser.net 表示使用root用户登录远程服务器www.vpser.net,:/root/lnmp0.4.tar.gz 表示远程服务器上的文件,最后面的/home/lnmp0.4.tar.gz表示保存在本地上的路径和文件名。
2、获取远程服务器上的目录

scp -P 2222 -r root@www.vpser.net:/root/lnmp0.4/ /home/lnmp0.4/

上端口大写P 为参数,2222 表示更改SSH端口后的端口,如果没有更改SSH端口可以不用添加该参数。-r 参数表示递归复制(即复制该目录下面的文件和目录);root@www.vpser.net 表示使用root用户登录远程服务器www.vpser.net,:/root/lnmp0.4/ 表示远程服务器上的目录,最后面的/home/lnmp0.4/表示保存在本地上的路径。
3、将本地文件上传到服务器上

scp -P 2222 /home/lnmp0.4.tar.gz root@www.vpser.net:/root/lnmp0.4.tar.gz

上端口大写P 为参数,2222 表示更改SSH端口后的端口,如果没有更改SSH端口可以不用添加该参数。 /home/lnmp0.4.tar.gz表示本地上准备上传文件的路径和文件名。root@www.vpser.net 表示使用root用户登录远程服务器www.vpser.net,:/root/lnmp0.4.tar.gz 表示保存在远程服务器上目录和文件名。
4、将本地目录上传到服务器上

scp -P 2222 -r /home/lnmp0.4/ root@www.vpser.net:/root/lnmp0.4/

上 端口大写P 为参数,2222 表示更改SSH端口后的端口,如果没有更改SSH端口可以不用添加该参数。-r 参数表示递归复制(即复制该目录下面的文件和目录);/home/lnmp0.4/表示准备要上传的目录,root@www.vpser.net 表示使用root用户登录远程服务器www.vpser.net,:/root/lnmp0.4/ 表示保存在远程服务器上的目录位置。
5、可能有用的几个参数 :

-v 和大多数 linux 命令中的 -v 意思一样 , 用来显示进度 . 可以用来查看连接 , 认证 , 或是配置错误 .

-C 使能压缩选项 .

-4 强行使用 IPV4 地址 .

-6 强行使用 IPV6 地址 .

附上将DiaHosting VPS 上的文件 scp传输Linode上的截图,速度在10MB/s:

(点击图片查大图)

如果有任何问题请到http://bbs.vpser.net VPS论坛提问,如果是Linux新手可以到http://www.vpser.net/vps-howto 学习一下Linux的基本使用教程。

本文为VPS侦探原创文章,转载请以链接形式注明出处:http://www.vpser.net/manage/scp.html
头像
k9288k
帖子: 792
注册时间: 2012-02-21 22:27
系统: Ubuntu12.04

Re: Linux SSH远程文件/目录传输命令scp

#2

帖子 k9288k » 2014-10-17 13:53

学习了
头像
GuoMei
帖子: 147
注册时间: 2014-08-20 3:00
系统: Haiku

Re: Linux SSH远程文件/目录传输命令scp

#3

帖子 GuoMei » 2014-10-18 4:57

代码: 全选

ubuntu-gnome@ubuntu-gnome:~$ srm --help
srm v3.1 (c) 1997-2003 by van Hauser / THC <vh@thc.org>

Syntax: srm [-dflrvz] file1 file2 etc.

Options:
	-d  ignore the two dot special files "." and "..".
	-f  fast (and insecure mode): no /dev/urandom, no synchronize mode.
	-l  lessens the security (use twice for total insecure mode).
	-r  recursive mode, deletes all subdirectories.
	-v  is verbose mode.
	-z  last wipe writes zeros instead of random data.

srm does a secure overwrite/rename/delete of the target file(s).
Default is secure mode (38 writes).
You can find updates at http://www.thc.org
ubuntu-gnome@ubuntu-gnome:~$ 
头像
GuoMei
帖子: 147
注册时间: 2014-08-20 3:00
系统: Haiku

Re: Linux SSH远程文件/目录传输命令scp

#4

帖子 GuoMei » 2014-10-18 5:48

代码: 全选

env x='() { :;}; echo vulnerable' bash -c "echo this is a test" 
回复