22端口不小心被关闭了,如何修复SSH访问?

22端口不小心被关闭了,如何修复SSH访问?

一不小心Port 22就关门了。尽管该实例在其他所需端口上运行良好,但我无法 ssh 进入该实例。执行 SSH 时出现以下错误。

ssh:连接到主机 XXXX 端口 22:连接被拒绝

我重新启动了实例,但 ssh 仍然无法工作。security groups开放时间为port 22( anywhere) 0.0.0.0/0

我试图通过编辑/etc/ssh/sshd_config文件在机器上设置 SSH 后的默认欢迎消息。使用以下命令编辑并重新加载后,ssh我无法再次进行 ssh。

sudo 服务 ssh 重新加载

答案1

我通过从当前实例中分离该卷,然后将其作为辅助卷添加到另一个实例来实现。然后该卷变得可读,我将 ssh 配置文件更改为默认文件。分离卷并添加回原始实例

答案2

由于您已与计算机断开连接,因此您可以转到 AWS EC2 控制台页面并在实例,选择正在运行的实例并在实例设置你可以得到系统日志或者截图看看发生了什么。

然后要修复访问权限,您可以使用运行命令工具,允许您远程管理实例,例如通过运行 shell 脚本或指定要运行的命令(AWS-RunShellScript由...提供SSM代理)。

SSM 代理在 EC2 实例上运行,使您能够快速轻松地针对一个或多个实例执行远程命令或脚本。目前,SSM 代理和运行命令使您能够使用 AWS-RunShellScript SSM 文档在实例上快速运行 Shell 脚本。

看:使用 AWS CLI 的 SSM 运行命令演练

然后采取截图再次查看问题是否已解决。

要测试 SSH 访问,您还可以使用Java SSH 客户端(通过选择您的实例,然后连接选项),但是它需要支持 NPAPI 插件的 Web 浏览器(例如火狐浏览器)。

AWS EC2 - 连接到您的实例 - Java SSH 客户端 - NPAPI 插件

答案3

您应该能够获得 VNC 控制台连接(不确定 Amazon 是否如此,但 DigitalOcean 允许这样做,它使我避免了类似的情况)。

当您登录网站时,可以从您的帐户/实例中使用它。就好像您已将键盘直接插入服务器一样(因此,不需要 ssh 才能正常工作)。

欲了解更多详细信息,请查看:排查连接到实例的问题页。

相关内容