Sha*_*een 14 ssh ftp software-recommendation sftp filezilla
在 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 中添加它?
pa4*_*080 15
您可以Connect to Server
在 Nautilus 中使用该选项,如下图所示。
第一个示例 -sftp://victoria-pass/home/tri
使用预定义的主机调用victoria-pass
并挂载home/
远程用户调用的目录tri
。
要使用这种方法,您应该为本地 ssh 客户端创建用户的配置文件。必须调用该文件config
并将其放置.ssh/
在用户家中的目录中:~/.ssh/config
。根据示例,文件的内容应该是:
Host victoria-pass # this is as 'nickname' of the connection
HostName victoria.org # or use the IP address
IdentityFile ~/.ssh/id_rsa # or provide the fill path to another key
User tri # use the actual name of the remote user
Port 1111 # provide the actual port of the remote server
# other parameters...
# setup each another Host in the same way...
Run Code Online (Sandbox Code Playgroud)
更改文件权限:
chmod 600 ~/.ssh/config
Run Code Online (Sandbox Code Playgroud)
此外,现在您应该能够通过以下命令连接到这些主机中的每一个:
ssh victoria-pass
Run Code Online (Sandbox Code Playgroud)第二个示例 - sftp://tri@victoria.org:1111/home/tri
- 显示了如何在不使用~/.ssh/config
带有自定义 ssh 端口的预定义文件的情况下连接到远程 ssh (sftp) 服务器。
这种方法的主要缺点是,如果身份验证文件不是,~/.ssh/id_rsa
您应该通过命令提前提供它ssh-add
。例如,如果调用身份验证文件file.pem
:
ssh-add /full/path/to/the/authentication/file.pem
Run Code Online (Sandbox Code Playgroud)
我认为你每次重启本地机器时都应该这样做,或者你应该在~/.profile
文件中包含上面的命令。
以下是如何设置 gFTP 以使用 SSH 密钥的步骤。
在FTP 菜单中点击Preferences;
转到SSH 选项卡;
使用此值填充字段SSH Extra Params:
-o IdentityFile=/home/<your user>/.ssh/id_rsa
Run Code Online (Sandbox Code Playgroud)
更改<user name>
为您的真实用户名。或使用:
-o IdentityFile=~/.ssh/id_rsa
Run Code Online (Sandbox Code Playgroud)在 gFTP 的主窗口中选择SSH2作为连接类型;
输入目标主机名或IP地址;
设置目标机器的 SSH端口(如果不是默认的 - 22
);
输入用户进行 SSH 连接;
输入您的SSH密钥的传递短语(如果有一些);
击中Enter。
您可以通过命令行工具挂载远程目录(或整个文件系统)sshfs
。然后您可以根据需要在“本地”操作它。这是我更喜欢的方式。让我们假设挂载目录是~/mount
并且您要挂载远程用户的主目录:
sshfs user@host.name.or.ip:/home/<user> /home/<local-user>/mount/
Run Code Online (Sandbox Code Playgroud)
或者,如果您已创建~/.ssh/config
文件:
sshfs host-name:/home/<remote-user> /home/<local-user>/mount/
Run Code Online (Sandbox Code Playgroud)
此外,您还可以创建/etc/fstab
条目 - 参考:
请注意,如果您之前使用过PPK密钥,即PuTTY Private Key,您应该转换它,因为与 CloneZilla 不同,上述工具无法读取这种格式。为此,您应该使用puttygen
作为包一部分的工具putty-tools
:
sudo apt install putty-tools
Run Code Online (Sandbox Code Playgroud)
现在您可以通过这种方式转换密钥:
puttygen input-key-filename.ppk -O private-openssh -o output-key-filename.pem
Run Code Online (Sandbox Code Playgroud)
感谢@steeldriver的这篇笔记。这是来源和一些其他参考资料:
虽然所有方法都使用相同的连接方法 - SSH - 它们提供的安全性应该是等效的。来自维基百科:
安全外壳 (SSH) 是一种加密网络协议,用于在不安全的网络上安全地运行网络服务...... SSH 在客户端 - 服务器架构中的不安全网络上提供安全通道,将 SSH 客户端应用程序与 SSH 服务器连接......
SSH 使用的加密旨在通过不安全的网络(例如 Internet)提供数据的机密性和完整性...... SSH 使用公钥加密来验证远程计算机并允许它在必要时验证用户......
一种方法是使用自动生成的公私钥对简单地加密网络连接,然后使用密码验证登录...
另一种是使用手动生成的公私钥对进行认证,允许用户或程序无需指定密码即可登录。在这种情况下,任何人都可以生成一对匹配的不同密钥(公钥和私钥)...
归档时间: |
|
查看次数: |
10430 次 |
最近记录: |