在Unix或Linux操作系统上,scp实用程序(secure copy)与更著名的命令cp类似,但用于在安全加密的网络上在主机之间传输文件和目录。
由于它依赖于ssh进行数据传输,因此它提供了相同的安全性并使用了相同的身份验证ssh。与rcp不同,scp命令将提示您输入用于身份验证的密码(如果需要)。
在本文中,我们将深入研究Linux中文件的安全传输,并学习如何使用scp命令。通过对常用scp开关和选项的详细解释和示例用例,您将了解如何使用此实用程序。
在开始之前了解以下这些很重要
- 由于scp依赖于ssh进行数据传输,因此需要ssh密钥或密码在远程系统(Linux文件传输ssh)上进行身份验证。
- 确认对目标系统有写权限,对源文件有读权限。
- 注意:scp工具使用冒号(:)来区分远程位置和本地位置。
- 当复制两边具有相同位置和名称的文件时,scp将在没有事先警告的情况下覆盖文件。
SCP Linux命令语法
为了开始使用scp命令,您需要了解其基本语法,格式如下:
less复制代码 scp [OPTION] [user@]SRC_HOST:]file1 [user@]DEST_HOST:]file2
登录后复制
选项:表示诸如ssh配置,密码,限制,ssh端口,递归副本等之类的scp选项。
[user@]SRC_HOST:]file1:表示源文件。
[user@]DEST_HOST:]file2 :代表目标文件
与其他任何命令一样,scp工具具有一些用于控制其行为的选项。最常见的是以下几种:
- -P:指示要连接到的远程主机的ssh端口。
- -p:指定从原始文件保留文件修改,模式和访问时间。
- -q:需要禁止显示非错误消息和进度表。
- -C:强制scp在将-C标志传递给ssh时压缩数据,以启用对加密安全连接的压缩。
- -r:告诉scp命令以递归方式复制整个目录。
- -S:用于加密连接的程序名称。由于使用了ssh,因此程序必须了解ssh开关。
- -v:详细模式。使scp和ssh可以输出有关其进度的消息。这在调试连接,配置和身份验证问题时很有用。
将本地文件传输到远程目标
在开始使用scp之前,让我们使用cp将文件从一个文��夹复制到另一个文件夹。我们都知道如何使用cp命令来实现这一点:
bash复制代码 cp /home/linuxmi/linuxmi.mp3 /home/linuxmi/audio
登录后复制
它将用户linuxmi的主目录中的文件linuxmi.mp3复制到同一用户的主文件夹即linuxmi的audio目录中。
以类似的方式,可以使用的scp命令示例如下所示:
typescript复制代码 scp /home/linuxmi/linuxmi.mp3 linuxmi@linuxmi.com:/home/linuxmi/audio
登录后复制
使用linuxmi作为登录名将linuxmi.mp3文件上传到服务器linuxmicom到远程目录/home/linuxmi/audio���。请注意,在开始上传之前,scp将提示您输入linuxmi的远程密码。如果未提供远程目录,则文件将被复制到远程用户的主目录。如果不在目标文件夹上提供文件名,则将使scp复制具有原始名称的文件。如果要使用其他名称保存文件,则需要指定新文件名。
将远程文件传输到本地目标
为了下载文件,您可以提及一个远程位置作为源位置。例如 :
scp linuxmi@linuxmi.com:/home/linuxmi/audio/* /home/linuxmi/downloads
它将把linuxmi.com上远程目录/ home/linuxmi/audio中的所有音频文件下载到本地目录/home/linuxmi/downloads中。
注意文件名:
文件名可以由用户和主机组成,以指示文件到该主机的传输或从该主机的传输。为了避免scp处理包含“:”作为主机说明符的文件名,本地文件名可以是绝对文件名,也可以是相对文件名。但是,远程文件名应同时包括用户和主机。
默认端口号:
如果在远程主机上,SSH正在侦听其他端口(即默认端口22以外的端口),则可以使用-P开关指示该端口。
将本地目录传输到远程目标
将目录复制到远程位置,类似于复制文件。您只需要使用-r标志进行递归传输。
要将整个目录复制到远程系统,请运行带有-r选项的命令,例如:
scp -r /home/linuxmi/local_folder linuxmi@linuxmi.com:/home/linuxmi/remote_folder
两个远程系统之间的文件传输
以下命令会将文件/folder/linuxmi.mp3从远程主机linuxmi.com复制到远程主机www.linuxmi.com上的目录/folder。
scp linuxmi@linuxmi.com:/folder/linuxmi.mp3 linuxmi@www.linuxmi.com:/anotherfolder
启动此操作后,将要求您提供两个远程目标的密码。
为了通过本地主机(即在其上执行命令的计算机)路由流量,请使用-3开关,如下所示:
scp -3 linuxmi@linuxmi.com:/folder/linuxmi.mp3 linuxmi@www.linuxmi.com:/anotherfolder
以上就是如何在Linux下使用scp命令通过ssh安全传输文件的详细内容,更多请关注小闻网其它相关文章!
评论(0)