亚马逊EC2 SSH服务器发送:(publickey,gssapi-keyex,gssapi-with-mic)

3

当我试图连接ssh时,会出现以下错误信息:

断开连接:没有支持的身份验证方法可用(服务器发送:publickey,gssapi-keyex,gssapi-with-mic)

我已经创建了一个实例(cent os),生成了我的webserver.pem文件,使用puttygen导入并输出了ppk文件。

我发现可能是服务器上~/.ssh的权限问题,但是如果没有ssh访问服务器,我如何更改服务器上的权限呢?还有其他我不知道的连接方式吗?我对amazon ec2这方面非常新手。

我现在正在使用putty进行windows系统的操作。

3个回答

3
以下步骤适用于我:
  1. 编辑sshd_config文件 sudo vi /etc/ssh/sshd_config
  2. 搜索 PasswordAuthentication
  3. 如果是 no,将其更改为 yes。对我来说,它被注释了。如果是这样,请取消注释。
  4. 重新启动sshd服务 sudo systemctl restart sshd.service
完成。

对我来说也是这样... - Ganesh Patil

2

我的安全组设置有误。我重新创建了实例并使用了正确的安全组。


你是如何连接到你的SSH服务器的?请解释一下……我也遇到了同样的问题。 - Vishal Thakur
@VishalThakur 这个问题很久以前就存在了,所以我并不完全记得具体的步骤。我想我当时不得不创建一个新实例,因为在创建实例时初始安全组是不正确的,而且在创建后我无法更改它们。他们可能已经在2012年之后修复了这个问题,但我不确定。 - rubio

0

这些是在公共云中创建虚拟机并连接到它时通常需要遵循的基本步骤:

  1. 创建虚拟云网络/虚拟专用云
  2. 创建Internet网关,并确保VCN的路由表具有将互联网流量(目标0.0.0.0/0)路由到Internet网关的条目
  3. 创建虚拟机(在此示例中为Linux),确保它具有公共IP(VM应创建在公共子网中),下载密钥对(例如PEM格式)
  4. 创建安全组,并确保源地址为0.0.0.0/0,协议为TCP,目标端口为22的入站规则
  5. 在创建VM或创建后,在VNIC级别上将VM与安全组关联

来自Oracle Cloud文档 -

仅拥有互联网网关并不能直接将 VCN 子网中的实例暴露给互联网。还必须满足以下要求: - 互联网网关必须启用(默认情况下,创建时互联网网关已启用)。 - 子网必须是公共的。 - 子网必须具有将流量定向到互联网网关的路由规则。 - 子网必须具有允许流量通过的安全列表规则(每个实例的防火墙也必须允许流量通过)。 - 实例必须具有公共 IP 地址。
现在使用 Putty 连接 VM,基本上您正在执行以下操作: ssh user@ip_address —i private_key
a. 使用 Puttygen 并加载您下载的私有 PEM 密钥。导入成功后,将私钥另存为 PPK 文件(可选择设置密码),保存在本地机器上(例如“your_pvt_key_name.ppk”)。 b. 使用putty连接到虚拟机的公共IP地址。确保在连接到虚拟机时,在putty中提供私钥进行身份验证。在“连接-> SSH-> Auth”部分中,浏览“your_pvt_key_name.ppk”,然后返回会话并“打开”虚拟机。如果虚拟机在公共子网上,并且路由表条目正确,则应该看到登录屏幕。如果虚拟机不可用于互联网,则无法连接!

c. 一旦您看到登录屏幕,最重要的是也是上述错误的可能原因,使用正确的用户名登录,例如AWS中的“ec2-user”或OCI中的“opc”。使用不正确的用户名会导致此错误。

 No supported authentication methods available (server sent: publickey,gssapi-keyex,gssapi-with-mic)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接