scp的使用以及常见问题的解决

新上手了树莓派4B,安装了基于Debian10的系统,但是有的时候需要与本机(Deepin)之间传输文件,总是插入U盘也不太方便,直到遇见了scp,总算解决了我的燃眉之急.

1.什么是scp?

scp 是 secure copy 的缩写, scp 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令,相较于其他传输方式,scp是加密的,安全性相当高.

2.scp具体参数

-1 强制scp命令使用协议ssh1
-2 强制scp命令使用协议ssh2
-4 强制scp命令只使用IPv4寻址
-6 强制scp命令只使用IPv6寻址
-B 使用批处理模式(传输过程中不询问传输口令或短语)
-C 允许压缩。(将-C标志传递给ssh,从而打开压缩功能)
-p 保留原文件的修改时间,访问时间和访问权限
-q 不显示传输进度条
-r 递归复制整个目录
-v 详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题
-c cipher 以cipher将数据传输进行加密,这个选项将直接传递给ssh
-F ssh_config 指定一个替代的ssh配置文件,此参数直接传递给ssh
-i identity_file 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh
-l limit 限定用户所能使用的带宽,以Kbit/s为单位
-o ssh_option 如果习惯于使用ssh_config(5)中的参数传递方式
-P port 注意是大写的P, port是指定数据传输用到的端口号
-S program 指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项

3.scp小试牛刀

假设本机IP为192.168.1.1,远程主机的IP为192.168.1.2

# 拷贝远程(192.168.1.2)的/home/pi/Documents/01.txt
# 到本机(192.168.1.1)的/home/long/Documents

scp pi@192.168.1.2:/home/pi/Documents/01.txt /home/long/Documents
# 拷贝本机(192.168.1.1)的/home/long/Documents/led1.py
# 到远程(192.168.1.2)的/home/pi/source_code

scp /home/long/Documents/led1.py pi@192.168.1.2:/home/pi/source_code

其实那么多的参数,往往常用的也就是 -r , -P等几个参数罢了

4.常见问题及解决方法

  1. Linux主机的ssh默认端口是22,但是许多人为了安全起见会修改端口号。当端口错误时通过vi /etc/ssh/sshd_config查看当前端口号,之后输入命令"scp -P 当前端口号"即可
  2. 当连接出现问题时,通过" vi /etc/ssh/sshd_config"将"PasswordAuthentication no"修改为"PasswordAuthentication yes"
  3. 出现 “Permission denied"提示时可能是因为权限不够,需要增加权限. 通过"sudo chmod 目标文件夹” 即可解决问题

你可能感兴趣的:(Linux,ssh,树莓派,Linux文件传输,scp)