如果我使用用户名 ubuntu,我只能通过 Putty/FileZilla 登录我的 ec2 实例。这对于 putty 来说没问题,因为我可以 su,但在 filezilla 中我无法添加任何文件,因为我无法 su。
在 putty 中我收到错误“断开连接:没有可用的支持的身份验证方法(服务器发送:公钥)”。
在 FileZilla 中我收到消息
错误:断开连接:没有可用的受支持的身份验证方法(服务器发送:公钥)错误:无法连接到服务器
我需要在这里进行哪些更改才能使其正常工作?如果我可以提供更多信息来提供帮助,请告诉我。
答案1
首先,引用一下维基百科:
不支持导入站点的公钥。无法预先缓存公钥(我从站点管理员那里以密钥文件的形式获得)来验证服务器是否是您要连接的服务器。最后,我不得不在 Linux 机器上运行 ssh-keygen -l -f,然后进行视觉比较。
一旦你理解了这一点,让我们假设你有一个来自 Putty 安装的 .ppk 文件,这归结为两种可能的解决方案:
使用 Pageant
Pageant 是一个类似守护进程的代理,用于存储您的私钥,从而节省您每次想要使用存储的 ssh 密钥时输入密码的时间。
- 您应该已经安装了 Putty,然后转到“开始”菜单中的 Putty 目录,并选择 Pageant。
- 它应该会出现在通知区域(时钟旁边)的一个小图标,右键单击它,然后选择Add...
- 寻找您的私钥,将要求您输入密码,然后接受。
- 打开 FileZilla,它会发现 Pageant 正在运行,因此它会获取您的私钥并对您的服务器进行身份验证。
手动方法
在 FileZilla 中:
- 转到编辑 > 首选项菜单。
- 在里面联系 - SFTP 选项卡,查找Add key file...按钮。
- 找到您的密钥并点击打开。
FileZilla 会将此文件从密码保护到没有密码在导入过程中。
其他一切
如果在环境变量中设置了,FileZilla 支持几乎任何 SSH 代理SSH_AUTH_SOCK
。在这种情况下,请参阅代理的文档。
来源:https://wiki.filezilla-project.org/Howto#SFTP_using_SSH2:_Key_based_authentication
答案2
这发生在 AWS EC2 中。由于 EC2 通过 SFTP 提供连接,因此需要一些其他方法。首先联系默认为 FTP。需要更改为 SFTP。然后,不必直接提供主机名和密码,而是必须在现场经理. 下面给出分步过程:
故障排除步骤如下:
- 前往 Filezilla 的设置
- 安全FTP
- 添加密钥文件(提供ppk转换后的密钥文件或者FZ会转换pem ket)
然后在 Filezilla 中将文件转到
- 文件
- 现场经理
- 新网站
- 给出任意名称(ec2-amazon)
- 一般来说,给主机名“公共 DNS”(例如:ec2-34-423.ap-southeast...)
- 将协议更改为
SFTP
- 登录类型:
Normal
- 用户:
ec2-user
或ubuntu
- 取决于 - 清除密码
- 连接!
希望您能联系上。祝您主持愉快...:)