在断开管道后无法使用ssh连接到实例

时间:2015-04-23 19:07:36

标签: amazon-web-services ssh amazon-ec2 provisioning salt-stack

我使用SaltStack和AWS全新的,很可能这是一个愚蠢的问题,我创建了一个AMI(使用打包机)与SaltStack(无主)作为供应方...我能够通过ssh连接并进行配置对仆从。我能够成功运行salt-call state.highstate。 后来,我失去了与我的实例的连接, ([root@<ip> ec2-user]# Write failed: Broken pipe)之后,我再也无法联系了。

尝试了什么:

  1. 重新启动实例但无法正常工作
  2. 我已经检查了.ssh文件的权限,看起来很好
  3. 创建一个新实例并使用相同的key.pem,我能够连接到这个新实例。
  4. 我不确定我是否在SaltStack中缺少配置。运行salt-call state.highstate ??

    后,我的实例上的密钥是否有可能发生变化

    我做错了什么?

1 个答案:

答案 0 :(得分:1)

运行高级状态没有什么固有的东西会终止SSH连接并阻止你重新连接。我怀疑你的SLS文件中存在破坏SSH的问题 - 当你运行高状态时会应用它。

您的Salt可能已经做过的事情:

  • 您的SSH密钥被删除/损坏
  • opensshd配置已更改
  • openssh-server已卸载

编辑:看过评论中链接的pastebin中Salt的输出,可能是AuthorizedKeysFile选项被注释掉了:

-AuthorizedKeysFile .ssh/authorized_keys
+#AuthorizedKeysFile    .ssh/authorized_keys

我建议使用file.replace修补您需要的特定更改,而不是将整个/etc/ssh/sshd_config替换为新版本。