【问题标题】:can't ssh to AWS Windows instance using cygwin ssh无法使用 cygwin ssh SSH 到 AWS Windows 实例
【发布时间】:2017-11-29 20:12:13
【问题描述】:

我在这里按照说明进行操作: https://docs.oracle.com/cd/E24628_01/install.121/e22624/preinstall_req_cygwin_ssh.htm#EMBSC340

在我进入第 5.4 节第 4 步之前一切正常。“备份 c:\cygwin\etc\passwd 文件...”猜猜看,没有这样的文件。

如果我继续并打开 cyg_server,然后尝试从我的本地机器 ssh 到它,就像以下任何尝试一样:

ssh -i "c:/users/Greg/.ssh/aws.pem" Admininistrator@ec2-52-89-66-113.us-west-2.compute.amazonaws.com
ssh Admininistrator@ec2-52-89-66-113.us-west-2.compute.amazonaws.com 
ssh cyg_server@ec2-52-89-66-113.us-west-2.compute.amazonaws.com 
ssh 52.89.66.113.us-west-2.compute.amazonaws.com

我收到以下消息:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@  
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @  
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@  
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!  
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:XZpY8q6txT+/CXh45b3JuiI8hMehnmH0s4ZXJWOoWAg.
Please contact your system administrator.
Add correct host key in /home/Greg/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /home/Greg/.ssh/known_hosts:32
ECDSA host key for 52.89.66.113 has changed and you have requested strict checking.
Host key verification failed.

注意:我的本地机器是 Windows,远程机器是 Windows,那么 /home/Greg/.ssh/known_hosts 是什么?遥控器上没有 Greg 帐户,只有管理员。本地盒子上有 c:/Users/Greg 帐户。其中有.ssh。但其中没有“known_hosts”文件。

我已经在远程防火墙上打开了 TCP 端口 22。

我已经用谷歌搜索了这个错误并看到了关于使用 keygen 修复它的内容,但不知道他们是在谈论在本地机器还是在远程机器上运行它。一切都那么混乱!

解决方案: 好的,我已经解决了这个问题,现在进入下一个。我做了什么?我以前能够从 dos shell SSH 到远程机器,因为我的 PATH 环境变量指向我的 %CYGWIN%/bin 目录。这很方便,但它也混淆了 /home/Greg 的位置。所以我提出了一个单独的 cygwin shell 并从那里运行 ssh。然后它给了我一条关于无法创建目录 home/Greg 目录的消息。啊哈!所以我手动创建了它,以及其中的 .ssh 文件夹。然后我再次运行 ssh 命令,这一次它在 .ssh 文件夹中创建了“known_hosts”文件,然后它实际连接了!

顺便说一句,我随后搜索了“known_hosts”,并在 c:/cygwin/home/Greg/.ssh 中找到了它 另一个啊哈时刻!

不幸的是,现在它不接受密码。我不确定它要求哪个密码?当我在遥控器上设置 cygwin/sshd 时,我在运行 ssh-host-config 命令时创建了一个密码。那是它想要的吗?我试过了,但它不接受。我假设它想要的那个与启动 AWS 实例时创建的那个相同,也就是我用来远程桌面进入实例的那个。但它也不接受那个。哎呀,怎么这么难!

【问题讨论】:

  • 您的问题相当大且令人困惑。您能否编辑问题以详细说明您当前遇到的具体问题?
  • 当前的问题是“为什么不接受密码?”。我不想删除我解决的问题的第一部分,因为它是可以帮助其他人的有价值的信息。我在谷歌上搜索了几个小时都找不到信息。
  • 在这种情况下,您可能需要发布第二个问题,其中包含您所询问的具体细节。大多数人不会费心去理解你的大问题来提取你实际问的内容。 (例如我!)
  • 好的,会的。顺便说一句,我收到的消息是“权限被拒绝,请重试。”
  • 我也发现了权限被拒绝的问题。诀窍是右键单击远程实例上运行的 CYGWIN sshd 服务并选择属性。在“登录”选项卡中查看所有者是谁以及关联的用户名和密码。

标签: windows amazon-web-services ssh


【解决方案1】:

我在 SO 文档中这样解释此错误消息:

远程主机标识已更改!

使用ssh的常见错误是看到类似的错误

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
SHA256:L5ri/Xdgpuals893ej1z5F1wlg1n2YNeBf/tsABX+QQ.
Please contact your system administrator.
Add correct host key in /Users/username/.ssh/known_hosts to get rid of this message.
Offending RSA key in /Users/username/.ssh/known_hosts:12
RSA host key for *IP address* has changed and you have requested strict checking.
Host key verification failed.

这意味着您之前连接到同一台服务器,并且使用不同的主机密钥进行识别。如果您知道您更改了服务器密钥、重新安装了服务器或服务器管理员宣布了一些更改,通常可以删除旧密钥并让ssh 存储它的新密钥。

可以使用ssh-keygen透明地删除旧密钥:

ssh-keygen -R *IP address*

下一个连接应该要求您验证新指纹:

ssh192.168.0.128
The authenticity of host '192.168.0.128 (192.168.0.128)' can't be established.
ECDSA key fingerprint is SHA256:L5ri/Xdgpuals893ej1z5F1wlg1n2YNeBf/tsABX+QQ.
Are you sure you want to continue connecting (yes/no)? 

如果您不了解上述任何情况,最好联系您的服务器管理员以确保一切正常。否则,潜在的攻击者将能够获取您的身份验证信息和所有传输的数据!

【讨论】:

    【解决方案2】:

    我解决了这个问题。我做了什么?我以前能够从 dos shell SSH 到远程机器,因为我的 PATH 环境变量指向我的 %CYGWIN%/bin 目录。这很方便,但它也混淆了 /home/Greg 的位置。所以我提出了一个单独的 cygwin shell 并从那里运行 ssh。然后它给了我一条关于无法创建目录 home/Greg 目录的消息。啊哈!所以我手动创建了它,以及其中的 .ssh 文件夹。然后我再次运行 ssh 命令,这一次它在 .ssh 文件夹中创建了“known_hosts”文件,然后它实际连接了!

    顺便说一句,我随后搜索了“known_hosts”,并在 c:/cygwin/home/Greg/.ssh 中找到了它 另一个啊哈时刻!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-07
      • 1970-01-01
      • 2019-08-08
      • 1970-01-01
      • 2018-12-19
      • 2021-08-25
      相关资源
      最近更新 更多