使用SCP命令在远程VPS和本地之间进行文件传输

1 什么是scp

scp就是secure copy,是用来进行远程文件拷贝的。数据传输使用 ssh,而且和ssh 使用相同的认证方式,提供相同的安全保证。scp在须要进行验证时会要求你输入密码或口令。html

2 实际操做

2.1 下载VPS的文件(目录)到本地

假设须要将VPS上的一个文件下载到本地,文件路径是/root/test.log,VPS的IP地址是12.34.56.78,VPS的帐户名是root,SSH端口是6666(默认22),咱们将这个文件下载到本地的/Users/admin/root/test.log,咱们再分两种状况讨论。git

2.1.1 使用帐号密码链接VPS

那么咱们须要执行的scp命令是github

scp -P 6666 root@12.34.56.78:/root/test.log /Users/admin/root/test.log

scp支持对整个目录进行操做,例如将上述root目录下载到本地安全

scp -P 6666 root@12.34.56.78:/root /Users/admin/root

执行scp命令后须要输入VPS上对应帐户的密码ssh

2.1.2 使用.pem证书链接VPS

下载单个文件的命令为spa

scp -i /Users/admin/example.pem root@12.34.56.78:/root/test.log /Users/admin/root/test.log

.pem证书的地址记得改为你本身的。code

下载整个目录的命令为:htm

scp -i /Users/admin/example.pem root@12.34.56.78:/root /Users/admin/root

2.2 上传本地的文件(目录)到VPS

假设须要将本地的一个文件上传到VPS,本地文件的路径是/Users/admin/root/test.log,VPS的IP地址是12.34.56.78,VPS的帐户名是root,SSH端口是6666(默认22),咱们将这个文件上传到VPS的/root/test.log,也分两种状况讨论get

2.2.1 使用帐号密码链接VPS

那么咱们须要执行的scp命令是文件上传

scp -r -P 6666 /Users/admin/root/test.log root@12.34.56.78:/root/test.log

同理,也能上传整个目录

scp -r -P 6666 /Users/admin/root root@12.34.56.78:/root

2.1.2 使用.pem证书链接VPS

上传单个文件的命令为

scp -r -i /Users/admin/example.pem /Users/admin/root/test.log root@12.34.56.78:/root/test.log

上传整个目录的命令为:

scp -r -i /Users/admin/example.pem /Users/admin/root root@12.34.56.78:/root

3 可能遇到的问题

  • 本地没有生成SSH Key致使链接认证失败

本文内容部分借鉴自http://celerysoft.github.io/2016-07-07.html

相关文章
相关标签/搜索