迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 网络 >

如何使用 SFTP 与远程服务器进行交互

作者:迹忆客 最近更新:2023/01/08 浏览次数:

FTP,即文件传输协议,是一种流行的、未加密的在两个远程系统之间传输文件的方法。 截至 2022 年,由于缺乏安全性,它已被大多数现代软件弃用,并且大多只能用于历史遗留下来应用程序。

SFTP 是安全文件传输协议,是一种内置在 SSH 中的单独协议,可以通过安全连接实现 FTP 命令。 通常,它可以在仍然需要 FTP 服务器的任何环境中直接使用。

在几乎所有情况下,SFTP 都比 FTP 更可靠,因为它具有底层的安全特性和搭载 SSH 连接的能力。 FTP 是一种不安全的协议,只能在有限的情况下或在您信任的网络上使用。

尽管 SFTP 已集成到许多图形工具中,但我们将通过其交互式命令行界面演示如何使用它。

如何连接 SFTP

默认情况下,SFTP 使用 SSH 协议进行身份验证并建立安全连接。 因此,可以使用与 SSH 相同的身份验证方法。

尽管我们可以默认使用密码进行身份验证,但我们建议您创建 SSH 密钥并将您的公钥传输到需要访问的任何系统。 这更加安全,从长远来看可以节省时间。关于 SSH密钥的设置,可以参考我们的 如何创建Git SSH 密钥

尽管我们可以默认使用密码进行身份验证,但我们建议您创建 SSH 密钥并将您的公钥传输到需要访问的任何系统。 这更加安全,从长远来看可以节省时间。

如果您可以使用 SSH 连接到计算机,那么就已经完成了使用 SFTP 管理文件所需的所有必要要求。 使用以下命令测试 SSH 访问:

$ ssh username@your_server_ip_or_remote_hostname

如果能连接上,可以输入以下命令退出:

$ exit

现在我们可以通过使用以下命令来建立 SFTP 会话:

$ sftp username@your_server_ip_or_remote_hostname

这样我们将可以连接远程系统,终端的提示符将更改为 SFTP 提示。

sftp> 

如果正在使用自定义 SSH 端口(不是默认端口 22),则可以按如下方式打开 SFTP 会话:

$ sftp -oPort=custom_port username@your_server_ip_or_remote_hostname

这将通过我们指定的端口将连接到远程系统。

在 SFTP 中获得帮助

首先要学习的最有用的命令是 help 命令。 我们可以使用这个命令查看其他 SFTP 命令的使用方式。

sftp> help

或者

sftp> ?

这将显示可用命令的列表:

Available commands:
bye                                Quit sftp
cd path                            Change remote directory to 'path'
chgrp grp path                     Change group of file 'path' to 'grp'
chmod mode path                    Change permissions of file 'path' to 'mode'
chown own path                     Change owner of file 'path' to 'own'
df [-hi] [path]                    Display statistics for current directory or
                                   filesystem containing 'path'
exit                               Quit sftp
get [-Ppr] remote [local]          Download file
help                               Display this help text
lcd path                           Change local directory to 'path'
. . .

我们将分三部分来介绍一些命令。

使用 SFTP 浏览文件系统

我们可以使用许多功能类似于它们的 shell 的命令来浏览远程系统的文件层次结构。

首先,让我们通过找出我们当前在远程系统上的哪个目录来定位自己。 就像在典型的 shell 会话中一样,我们可以使用以下命令来获取当前目录:

sftp> pwd

输出如下所示

Remote working directory: /home/demouser

我们可以用另一个熟悉的命令查看远程系统当前目录的内容:

sftp> ls

输出如下所示

Summary.txt     info.html       temp.txt        testDirectory

请注意,SFTP 界面中可用的命令并不是完全能使用 shell 语法中的命令,并且功能不丰富。 但是,它们确实实现了一些更重要的可选项,例如将 -la 添加到 ls 后面可以查看更多文件元数据和权限:

sftp> ls -la

输出结果如下所示

drwxr-xr-x    5 demouser   demouser       4096 Aug 13 15:11 .
drwxr-xr-x    3 root     root         4096 Aug 13 15:02 ..
-rw-------    1 demouser   demouser          5 Aug 13 15:04 .bash_history
-rw-r--r--    1 demouser   demouser        220 Aug 13 15:02 .bash_logout
-rw-r--r--    1 demouser   demouser       3486 Aug 13 15:02 .bashrc
drwx------    2 demouser   demouser       4096 Aug 13 15:04 .cache
-rw-r--r--    1 demouser   demouser        675 Aug 13 15:02 .profile

要进入另一个目录,我们可以使用以下命令:

sftp> cd testDirectory

我们现在可以遍历远程文件系统,但是如果我们需要访问本地文件系统怎么办? 我们可以通过在命令前面加上一个表示本地的 l 来将命令指向本地文件系统。

到目前为止讨论的所有命令都有本地对等的命令。 我们可以打印本地工作目录:

sftp> lpwd

输出如下所示

Local working directory: /Users/demouser

我们可以列出本地机器上当前目录的内容:

sftp> lls

输出如下

Desktop         local.txt       test.html
Documents       analysis.rtf        zebra.html

我们还可以在本地系统上更改要与之交互的目录:

sftp> lcd Desktop

在下一篇文章中我们介绍SFTP如何与远程服务器传输文件

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 Git 中使用 SSH 密钥克隆仓库或分支

发布时间:2023/04/04 浏览次数:74 分类:Git

你可以在本教程中使用 SSH 密钥进行 Git 克隆 - 在 Git 中设置 SSH,在 GitHub 中更新 SSH 公钥,并使用选项 - 仅克隆特定分支、选择的位置或仅克隆最近的提交。

Git 远程添加 SSH

发布时间:2023/03/31 浏览次数:160 分类:Git

本篇文章介绍了在 Git 中通过不同的 SSH 端口远程添加 SSH 的过程。

Git push 使用 SSH 密钥

发布时间:2023/03/30 浏览次数:131 分类:Git

SSH 代表 Secure Shell。 它是为我们提供 SSH 网络协议访问证书的密钥。它提供对无保证开放网络上引擎之间的远程服务器的访问。 它用于传输数据、文件和网络管理,并提供从源头访问远程服务器

如何在 Linux 上设置反向 SSH 隧道

发布时间:2022/10/22 浏览次数:227 分类:操作系统

反向 SSH 是一种可用于从外部访问系统(位于防火墙后面)的技术。如大家所知,SSH 是一种支持网络节点之间加密通信的网络协议。 使用此协议,我们可以进行安全的远程登录、从/到远

从 openSSH 到 SSH2 的基于 SSH 密钥的身份验证设置

发布时间:2022/10/22 浏览次数:106 分类:操作系统

之前的文章(openSSH 到 openSSH 设置,SSH2 到 SSH2 设置)解释了如何在相同版本的 ssh 上设置基于密钥的身份验证,以在不输入密码的情况下执行 ssh 和 scp。 本文介绍如何在不同版本的 SS

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便