【解决方案】VSCode remote ssh 连接远程机器,报错:remote host key has changed port forwarding is disabled

当使用remote-ssh连接远程服务器时遇到警告提示,表明主机密钥已更改。本文介绍了解决这一问题的方法:通过更新known_hosts文件来移除过时的密钥记录,确保远程连接的安全性和稳定性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述

使用 remote-ssh 链接远程机器,发现控制台会报如下错误:

$ ssh ec2-user@ec2-192-168-1-1.compute-1.amazonaws.com
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:hotsxb/qVi1/ycUU2wXF6mfGH++Yk7WYZv0r+tIhg4I.
Please contact your system administrator.
Add correct host key in /Users/scott/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /Users/scott/.ssh/known_hosts:47
ECDSA host key for ec2-192-168-1-1.compute-1.amazonaws.com has changed and you have requested strict checking.
Host key verification failed.

解决方案

删除掉 known_hosts 中,对应的 ip 或者域名,重新连接之后,输入账号密码即可。

$ vim ~/.ssh/known_hosts
### 解决 SSH 连接 GitHub 被拒问题 当遇到通过端口 22 使用 SSH 连接到 GitHub 遭遇拒绝的情况时,可以考虑以下几个解决方案。 #### 更改默认 SSH 端口号 由于某些网络环境可能封锁了标准的 SSH 端口(即端口 22),因此建议修改 `.ssh/config` 文件来指定不同的端口用于连接到 GitHub。具体操作是在 C 盘根目录下的 .ssh 文件夹内创建或编辑 `config` 文件[^2]: ```bash Host github.com Hostname ssh.github.com Port 443 ``` 这段配置会使得所有的针对 `github.com` 的请求都转而使用 HTTPS 协议的标准 SSL/TLS 端口 443 来建立 SSH 连接,从而绕过防火墙对于传统 SSH 端口 22 的限制。 #### 检查本地 SSH 密钥设置 如果之前已经生成过 SSH 私钥,则需确认其路径是否正确以及是否有对应的公钥上传到了 GitHub 上。如果没有现成的密钥对,可以通过命令行工具生成新的 RSA 类型私钥并保存至特定位置[^5]: ```bash ssh-keygen -t rsa -b 4096 -C "your_email@example.com" ``` 执行上述指令后,按照提示完成后续步骤即可自动生成一对新的 SSH 密钥,并将其存储于用户的主目录中的隐藏文件夹 `.ssh` 下面,默认命名为 `id_rsa` 和 `id_rsa.pub`。 接着把新产生的公共部分复制粘贴给 GitHub,在账户的安全选项里添加进去作为授权设备的身份验证凭证之一。 #### 测试与验证连接状态 为了确保一切正常工作,应当尝试利用下面这条简单的测试语句来进行初步诊断: ```bash ssh -T git@github.com ``` 这一步骤能够帮助判断当前计算机上的 SSH 客户端能否成功访问远程仓库服务提供商所提供的 Git 用户账号。如果是首次登录的话,系统可能会询问是否继续连接;此时只需键入 yes 并按回车键同意即可。 另外值得注意的是,有时即使完成了以上所有准备工作仍然会出现权限不足的问题——比如返回 HTTP 403 Forbidden 错误码。这时应该仔细核对自己的用户名和邮箱地址是否匹配所使用的令牌或者密码等认证方式[^3]。 最后提醒一点,假如打算在 VSCode 中经由 SSH 实现远端服务器上运行 Python GUI 应用程序并将界面显示映射回到本机桌面环境中展示出来,那么除了前述提到的各项措施外还需要额外安装 X11 Forwarding 或者其他类似的图形转发机制支持软件包[^4]。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值