30
2024
10
15:38:23

使用SFTP进行文件传输 linux的sftp复制传输文件方式

SFTP是一种安全的文件传输协议,它使用SSH协议来提供加密和身份验证,确保文件在传输过程中的安全。与FTP不同,SFTP不需要在服务器上打开一个单独的传输端口,而是通过SSH连接进行文件传输。
要使用SFTP进行文件传输,您需要执行以下步骤:

  1. 安装SFTP客户端:在本地计算机上安装SFTP客户端。如果您使用的是Windows操作系统,您可以从Windows资源管理器中直接使用SFTP命令。如果您使用的是Linux或Mac OS操作系统,您可以使用内置的sftp命令。

  2. 连接到SFTP服务器:使用SFTP客户端连接到SFTP服务器。您需要提供服务器的IP地址、用户名和密码(如果服务器启用了身份验证)。例如,在Windows上,您可以在命令提示符下输入以下命令连接到SFTP服务器:


    在Linux或Mac OS上,您可以使用以下命令连接到SFTP服务器:


    其中,

    是您的用户名,是服务器的IP地址,是SSH连接使用的端口号(默认为22)。
    1. sftp <username>@<server_ip> -P <port>

    2. sftp <username>@<server_ip>

  3. 上传文件:连接成功后,您将看到一个交互式命令提示符。使用以下命令将本地文件上传到SFTP服务器:


    其中,

    是本地文件的路径和名称,远程服务器上的目标文件路径和名称。例如,要将名为“file.txt”的文件上传到远程服务器的“/home/user/”目录下,您可以使用以下命令:

    1. put file.txt /home/user/file.txt

    2. put <local_file> <remote_file>

  4. 下载文件:要从SFTP服务器下载文件到本地计算机,请使用以下命令:


    其中,

    是远程服务器上的源文件路径和名称,是本地计算机上的目标文件路径和名称。例如,要从远程服务器的“/home/user/file.txt”目录下载文件到本地的“/tmp/”目录下,您可以使用以下命令:

    1. get /home/user/file.txt /tmp/file.txt

    2. get <remote_file> <local_file>

  5. 结束传输:完成文件传输后,您可以使用以下命令退出SFTP客户端:


    1. exit





在Linux中,SFTP(Secure File Transfer Protocol)是一个可以通过SSH(Secure Shell)连接进行安全文件传输的协议。使用SFTP往服务器传文件夹的方法如下:

  1. 安装OpenSSH服务器

在服务器上安装OpenSSH服务器,确保可以通过SSH连接到服务器。可以使用以下命令在Ubuntu和Debian上安装:

sudo apt-get install openssh-server

在其他Linux发行版上,可以使用相应的包管理器进行安装。

  1. 连接到服务器

使用SFTP客户端连接到服务器。在大多数Linux发行版中,可以使用内置的ssh命令来连接到服务器。例如:

sftp user@server_ip

其中,user是服务器上的用户名,server_ip是服务器的IP地址。

  1. 上传文件夹

在SFTP连接建立后,在本地计算机上定位要上传的文件夹。可以使用cd命令切换到文件夹的目录。例如:

cd /path/to/folder

然后,在SFTP中使用put命令上传文件夹。例如:

put -r folder_name

这里的-r选项表示递归地上传文件夹。

等待文件上传完成后,可以使用ls命令查看上传的文件和文件夹。

  1. 关闭SFTP连接

上传完文件夹后,可以使用exit命令或者键入Ctrl + D来关闭SFTP连接。

以上是使用SFTP往服务器传文件夹的方法。注意,在进行文件传输时,一定要确保服务器上有足够的磁盘空间,并且确保目标文件夹有正确的读写权限。

















linux的sftp复制传输文件

假设要把服务器a的路径xxx下的某文件m内容复制到服务器b去

因为Jumpserver的权限问题,scp不能直接复制,所以使用sftp命令传输

1.进入本地需要复制的文件目录下

1
cd xx/xxx/

其下是需要复制的文件m

2.连接远程服务器

1
sftp -P 端口号 用户名@主机

例如:

sftp -P 80 ubuntu@172.168.0.1 并按照提示输入密码

3.分别使用命令查看本地当前路径(Local) 和远程路径(Remote)

  • pwd

  • lpwd

其中lpwd则展示的当前进入的路径xx/xxx/

4.使用 cd 远程路径和 lcd 本地路径分别进入对应目录

如果进入失败要一个一个进,可使用ls查看当前的目录进

5.put -r 文件夹 进行复制put -r m

5个linux文件传输命令

文件传输命令允许你通过网络在系统间移动文件。这对于将文件复制到远程服务器或从互联网下载内容非常有用。

1. scp – 在主机间安全复制文件

scp (安全复制)命令通过 SSH 连接在主机间复制文件。所有数据传输都经过加密,以确保安全。

scp 语法可将文件从源路径复制到定义为 user@host 的目的地:

1
scp source user@host:destination

例子:

1
scp image.jpg user@server:/uploads/

这样就能以 user 身份将 image.jpg 复制到 server 上的 /uploads 文件夹。

scp 的工作原理与 cp 命令类似,但用于远程文件传输。它利用 SSH(Secure Shell)进行数据传输,提供加密功能,确保不会在网络上泄露密码等敏感数据。身份验证通常使用 SSH 密钥,但也可以使用密码。文件既可以复制到远程主机,也可以从远程主机复制。

2. rsync – 在主机间同步文件

rsync 工具可在两个位置之间同步文件,同时使用 delta 编码尽量减少数据传输。这使得同步大型目录树的速度更快。

rsync 语法同步源文件到目标文件:

1
rsync [options] source destination

例子:

1
rsync -ahv ~/documents user@server:/backups/

上述示例命令将 documents 文件夹递归同步到 server:/backups/,并显示冗长的、人类可读的输出。

有用的 rsync 选项:

  • a – 归档模式递归同步并保留权限、时间等。

  • h – 人类可读输出。

  • v – 冗余输出。

rsync 是将文件和文件夹同步到远程系统并保持分散备份和安全的理想工具。

3. sftp – 安全文件传输程序

sftp 程序通过 SSH 提供交互式文件传输,与普通 FTP 类似,但已加密。它可以在远程系统之间传输文件。

sftp 连接到主机,然后接受以下命令:

1
2
3
sftp user@host
get remotefile localfile (复制远程文件到本地,此时remotefile可以是文件,也可以是文件夹)
put localfile remotefile (把本地文件复制到远程,此时localfile如果是文件夹,前面要加-r)

这样就能从服务器上获取 remotefile ,并将 localfile 复制到远程主机上。

sftp 有一个交互式 shell,用于浏览远程文件系统、传输文件和目录以及管理权限和属性。

4. wget – 从网上检索文件

wget(World Wide Web get)是从互联网检索内容的实用工具。它拥有最大的flags之一。

有用的 wget 选项:

  • c – 恢复中断的下载,如果下载过程中出现连接中断或下载被取消,你可以使用 -c 选项重新启动下载,它会尝试从上次中断的地方继续下载。

  • r – 递归下载,即下载指定 URL 下的所有链接和资源。它非常有用,特别是当你需要下载一个整个网站或某个目录中的文件时。

  • O – 保存到特定文件名,通过指定 -O 选项和文件名,你可以控制下载文件的保存位置和名称。

wget 是编写自动下载脚本和镜像网站的理想工具。

以下是您如何从GitHub获取一个Python文件:

1
2
3
4
5
wget https://example.com/cookies.py
#保存为链接尾部名称cookies.py
 
wget -O myfile.py https://example.com/cookies.py
#保存为myfile.py

5. curl – 从服务器传输数据或向服务器传输数据

curl 命令可使用支持的协议与网络服务器之间传输数据。它支持多种常用协议,包括 HTTP、HTTPS、FTP、FTPS、SCP、SFTP、SMTP、POP3、IMAP、Telnet 和 DICT。

通过 curl,我们可以发送请求,获取网页内容、下载文件,以及执行其他网络操作。

例子:

1
2
3
4
5
curl -o example.html https://example.com
#该命令会将 https://example.com 的响应保存为名为 example.html 的文件。
 
curl -L https://example.com
#该命令会自动跟踪 https://example.com 的重定向,并获取最终的响应内容。

上述命令从 HTTPS URL 获取数据并输出。

有用的 curl 选项:

  • o – 将输出写入文件。

  • I – 仅显示响应头。

  • L – 跟踪重定向。

curl 旨在以编程方式跨网络传输数据。




推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

本文链接:https://hqyman.cn/post/8257.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:
打赏





休息一下~~


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请先 登录 再评论,若不是会员请先 注册

您的IP地址是: