在 Windows 上,我使用 FileZilla 通过 sftp 在我的 WordPress 网站上上传/下载文件,同时使用 ssh 密钥。
现在 Linux 是我的主要操作系统。上个月 FileZilla 客户端在 Ubuntu 16.04 上运行良好,但现在每当我启动它时它都会崩溃。我在互联网上搜索,发现很多用户都在发生这种情况。不幸的是,如果我们问他们,FileZilla 支持只有一个答案:
Ubuntu 16.04 是旧操作系统,使用 17.10 或 Debian 最新版本。
我不想使用 17.10。所以我正在寻找适用于 Linux 的 FileZilla 客户端替代品,我可以将其用作带有 ssh 密钥的 sftp 客户端。
我找到了 gFTP(这是一个旧程序,我不确定它有多安全?),我还发现我可以使用 Ubuntu 文件管理器连接到我的服务器。在使用 Nautilus 或 Caja 时连接到服务器是个好主意吗?
实际上,我不想将我的用户名/密码放在单击“文件”>“连接到服务器”时出现的对话框中,而是想使用我的.ppk
密钥。我如何在 Nautilus 或 Caja 中添加它?
使用鹦鹉螺
您可以使用
Connect to Server
Nautilus 中的选项,如下图所示。第一个例子——
sftp://victoria-pass/home/tri
使用预定义的主机调用victoria-pass
并挂载home/
远程用户调用的目录tri
。要使用这种方法,您应该为本地 ssh 客户端创建用户配置文件。必须调用该文件
config
并将其放置在.ssh/
用户主目录中的目录中:~/.ssh/config
. 根据示例,文件的内容应为:更改文件权限:
此外,现在您应该能够通过以下命令连接到这些主机中的每一个:
第二个例子 -
sftp://[email protected]:1111/home/tri
- 展示了如何在不使用~/.ssh/config
带有自定义 ssh 端口的预定义文件的情况下连接到远程 ssh (sftp) 服务器。这种方法的主要缺点是,如果身份验证文件不是
~/.ssh/id_rsa
您应该通过命令提前提供它ssh-add
。例如,如果调用了身份验证文件file.pem
:我认为每次重新启动本地机器时都应该这样做,或者应该在
~/.profile
文件中包含上述命令。使用 gFTP
以下是如何设置 gFTP 以使用 SSH 密钥的步骤。
在FTP 菜单中单击Preferences;
转到SSH 选项卡;
使用以下值填写SSH Extra Params字段:
更改
<user name>
为您的真实用户名。或使用:在 gFTP 的主窗口中选择SSH2作为连接类型;
输入目标主机名,或IP地址;
设置目标机器的 SSH端口(如果不是默认的 -
22
);输入SSH 连接的用户;
输入您的 SSH 密钥的密码短语(如果有的话);
打Enter。
使用 SSHFS
您可以通过命令行工具挂载远程目录(或整个文件系统)
sshfs
。然后你可以随心所欲地“在本地”操作它。这是我的首选方式。假设挂载目录是~/mount
并且您要挂载远程用户的主目录:或者,如果您创建了
~/.ssh/config
文件:此外,您还可以创建
/etc/fstab
条目 - 参考:转换 PPK 密钥
请注意,如果您以前使用过PPK密钥,即PuTTY Private Key,您应该转换它,因为与 CloneZilla 不同,上述工具无法读取此格式。为此,您应该使用
puttygen
作为包一部分的工具putty-tools
:现在您可以通过这种方式转换密钥:
感谢@steeldriver提供此说明。以下是来源和一些额外的参考资料:
根据安检
虽然所有方法都使用相同的连接方法 - SSH - 它们提供的安全性应该是相同的。来自维基百科: