管道损坏后无法使用 ssh 连接到实例
Cannot connect to an Instance using ssh after Broken pipe
我是 SaltStack 和 AWS 的新手,这可能是个愚蠢的问题,我创建了一个 AMI(使用打包程序),使用 SaltStack(无主)作为供应商...我能够通过 ssh 连接并制作minion 的配置。我能够 运行 salt-call state.highstate
成功。
后来,我失去了与我的实例的连接,
([root@<ip> ec2-user]# Write failed: Broken pipe
) 之后,我无法再次连接。
已尝试:
- 重启实例但没有成功
- 我检查了 .ssh 文件的权限,它们似乎没问题
- 创建一个新实例并使用相同的 key.pem 我能够连接到这个新实例。
我不确定我是否缺少 SaltStack 中的配置。 运行ning salt-call state.highstate
之后我的实例上的密钥是否有可能发生变化??
我做错了什么?
运行ning highstate 中没有任何固有的东西会终止 SSH 连接并阻止您重新连接。我怀疑是你的 SLS 文件中的某些东西破坏了 SSH - 当你 运行 highstate.
您的 Salt 状态可能已经完成的事情:
- 您的 SSH 密钥是 removed/mangled
opensshd
配置已更改
openssh-server
已卸载
编辑:看到评论中链接的 pastebin 中 Salt 的输出后,可能是 AuthorizedKeysFile
选项被注释掉了:
-AuthorizedKeysFile .ssh/authorized_keys
+#AuthorizedKeysFile .ssh/authorized_keys
我建议使用 file.replace 来修补您需要的特定更改,而不是用新版本替换整个 /etc/ssh/sshd_config
。
我是 SaltStack 和 AWS 的新手,这可能是个愚蠢的问题,我创建了一个 AMI(使用打包程序),使用 SaltStack(无主)作为供应商...我能够通过 ssh 连接并制作minion 的配置。我能够 运行 salt-call state.highstate
成功。
后来,我失去了与我的实例的连接,
([root@<ip> ec2-user]# Write failed: Broken pipe
) 之后,我无法再次连接。
已尝试:
- 重启实例但没有成功
- 我检查了 .ssh 文件的权限,它们似乎没问题
- 创建一个新实例并使用相同的 key.pem 我能够连接到这个新实例。
我不确定我是否缺少 SaltStack 中的配置。 运行ning salt-call state.highstate
之后我的实例上的密钥是否有可能发生变化??
我做错了什么?
运行ning highstate 中没有任何固有的东西会终止 SSH 连接并阻止您重新连接。我怀疑是你的 SLS 文件中的某些东西破坏了 SSH - 当你 运行 highstate.
您的 Salt 状态可能已经完成的事情:
- 您的 SSH 密钥是 removed/mangled
opensshd
配置已更改openssh-server
已卸载
编辑:看到评论中链接的 pastebin 中 Salt 的输出后,可能是 AuthorizedKeysFile
选项被注释掉了:
-AuthorizedKeysFile .ssh/authorized_keys
+#AuthorizedKeysFile .ssh/authorized_keys
我建议使用 file.replace 来修补您需要的特定更改,而不是用新版本替换整个 /etc/ssh/sshd_config
。