【问题标题】:Cannot connect to an Instance using ssh after Broken pipe管道损坏后无法使用 ssh 连接到实例
【发布时间】:2015-04-23 19:07:35
【问题描述】:

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

什么都试过了:

  1. 重启实例但没有工作
  2. 我检查了 .ssh 文件的权限,它们看起来很好
  3. 创建一个新实例并使用相同的 key.pem,我能够连接到这个新实例。

我不确定我是否缺少 SaltStack 中的配置。运行salt-call state.highstate 后我的实例上的密钥是否有可能发生变化??

我做错了什么?

【问题讨论】:

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


    【解决方案1】:

    在运行 highstate 过程中没有任何内在因素会终止 SSH 连接并阻止您重新连接。我怀疑是您的 SLS 文件中的某些东西破坏了 SSH - 在您运行 highstate 时应用。

    您的 Salt 状态可能已经完成的事情:

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

    编辑:在 cmets 中链接的 pastebin 中看到 Salt 的输出后,可能是 AuthorizedKeysFile 选项被注释掉了:

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

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

    【讨论】:

    • 谢谢,好像是改了密钥,但是我没有改ssh配置。 :(
    • 尝试再次运行该过程并确保密切关注 salt 的输出。如果您可以将其放入 pastebin(删除了哪些 SSH 密钥!),那么我可以看看
    猜你喜欢
    • 1970-01-01
    • 2016-07-04
    • 2022-10-14
    • 1970-01-01
    • 2020-12-14
    • 1970-01-01
    • 2020-03-13
    • 2020-08-07
    • 1970-01-01
    相关资源
    最近更新 更多