2401_87939098 2024-10-09 19:34 采纳率: 0%
浏览 29
已结题

GitHubssh虚拟机连接不上

有真人回答吗?我会用ai,来个会的,GitHubssh虚拟机连接不上,显示tcp时间超时应该怎么解决急!帮助解决有偿

img

  • 写回答

21条回答 默认 最新

  • 檀越@新空间 2024-10-09 19:36
    关注

    晚上好🌙🌙🌙
    本答案参考ChatGPT-3.5

    首先,让我们确保您已经正确地配置了SSH密钥对和服务器信息。接下来,我们检查一下SSH的使用情况。

    问题一: SSH连接请求超时

    查看错误日志以获取更多关于这个问题的信息:

    Permission denied (publickey).
    

    这表明您无法从主机上接收或发送SSH认证消息。

    解决方案:

    1. 确保您的SSH密钥已成功添加到~/.ssh/known_hosts文件中。如果您没有,您需要先创建一个。
    2. 检查您的SSH密钥是否位于~/.ssh/id_rsa.pub文件中。如果不是,请将其复制到~/.ssh/authorized_keys文件中,并为每个用户生成一个新的密钥对(例如,用户名 username)。

    这里是一个使用bash命令来将密钥添加到authorized_keys文件中的示例:

    ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
    

    问题二: 无权访问服务器

    您可以尝试以下方法解决问题:

    1. 更新您的防火墙设置,允许您通过SSH连接到服务器。
    2. 禁止防火墙阻止来自远程服务器的SSH连接请求。
    3. 尝试禁用端口 22(默认的SSH协议),这样就没有连接到远程服务器的机会。

    在这里,我们将展示如何启用端口 22,以及禁用端口 22。

    步骤一: 启用端口 22

    使用文本编辑器(如nano、vim 或 PowerShell)打开终端或命令提示符。

    在打开的终端或命令提示符中,运行以下命令以启用端口 22:

    sudo firewall-cmd --permanent --add-port=22/tcp --permanent --no-default-action封锁
    

    步骤二: 禁用端口 22

    运行以下命令以禁用端口 22:

    sudo firewall-cmd --remove-port=22/tcp --permanent --no-default-action封锁
    

    问题三: 无法验证SSH密钥

    有时,可能是因为SSH密钥未成功生成。这时,您可以使用ssh-keyscan命令检测可能存在的密钥冲突。

    执行以下命令后,您应该看到输出中的"localhost:22"项:

    ~/.ssh/known_hosts
    

    请注意,您需要更改 known_hosts 文件中的密码以保护您的私钥免受他人窃取。

    如果以上方法都无法解决问题,那么可能是SSH服务本身出现了问题。在这种情况下,您可以考虑联系相关技术支持团队进行进一步的排查和修复。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 10月16日
  • 修改了问题 10月9日
  • 赞助了问题酬金15元 10月9日
  • 修改了问题 10月9日
  • 展开全部