ssh 报Connection closed by 127.0.0.1 port 的解决办法

起了一个虚拟机,想要通过ssh从host连接。

起虚拟机时加上如下命令行:

-netdev user,id=net0,hostfwd=tcp::2222-:22 \
        -device virtio-net-pci,netdev=net0 \

这样就将host的2222端口转发给虚拟机的22端口。

ssh root@localhost -p 2222

得到Connection closed by 127.0.0.1 port 2222的错误。可能的问题在于:

1 虚拟机里的sshd服务没有正常运行,可通过命令查看systemctl status ssh, 如果没有开启就使用命令:systemctl start ssh

2网络端口没有正常监听,在host上使用命令:netstat -nlt 查看是不是存在0.0.0.0:2222的类似条目。

3虚拟机的ssh配置问题。

我在虚拟机中运行systemctl status ssh,得到一大堆error

Jan 10 03:49:56 ubuntu sshd[1195]: error: key_load_private: invalid format
Jan 10 03:49:56 ubuntu sshd[1195]: error: key_load_public: invalid format
Jan 10 03:49:56 ubuntu sshd[1195]: error: Could not load host key: /etc/ssh/ssh_
Jan 10 03:49:56 ubuntu sshd[1195]: error: key_load_private: invalid format
Jan 10 03:49:56 ubuntu sshd[1195]: error: key_load_public: invalid format
Jan 10 03:49:56 ubuntu sshd[1195]: error: Could not load host key: /etc/ssh/ssh_
Jan 10 03:49:56 ubuntu sshd[1195]: error: key_load_private: invalid format
Jan 10 03:49:56 ubuntu sshd[1195]: error: key_load_public: invalid format
Jan 10 03:49:56 ubuntu sshd[1195]: error: Could not load host key: /etc/ssh/ssh_
Jan 10 03:49:56 ubuntu sshd[1195]: fatal: No supported key exchange algorithms [

这是我在host连接虚拟机的时候sshd端报出的错误日志。这些文件都存在于/etc/ssh/ 下面,

参照Google的办法:

sudo rm /etc/ssh/ssh_host_*
sudo dpkg-reconfigure openssh-server
 注意这是在虚拟机中的操作。

接着就可以在host上ssh上虚拟机了。

另外ssh -v ip是一个不错的调试工具,可以打出ssh连接的日志。
————————————————
版权声明:本文为CSDN博主「jongwu3」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wujianyongw4/article/details/86223256

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
kex_exchange_identification: Connection closed by remote host Connection closed by 127.0.0.1 port 22是一个错误消息,它表示在连接远程主机时发生了连接关闭的情况。这个错误通常出现在通过SSH协议连接到远程主机时。引用和引用中的错误消息都包含了这个错误。根据引用中的输出信息,我们可以看到连接建立成功,但是在交换密钥标识时出现了连接关闭的情况。这可能是由于网络问题、权限问题或存储库不存在等原因引起的。 要解决这个问题,你可以尝试以下几个步骤: 1. 检查网络连接:确保你的网络连接正常,没有阻塞或限制SSH连接的问题。 2. 检查权限:确保你有正确的访问权限,包括使用正确的用户名和密码、公钥认证或访问令牌。 3. 检查存储库是否存在:确认你正在连接的存储库存在并且你有权限访问它。 4. 使用不同的协议和端口:尝试使用不同的协议(如HTTPS)或不同的端口来连接远程主机。 5. 检查SSH配置:检查你的SSH配置文件是否正确,并确保没有任何冲突或错误的配置。 根据你提供的信息,由于错误消息中显示的远程主机IP地址是127.0.0.1,这个IP地址代表本地主机。可能有一些本地配置问题导致连接关闭。你可以尝试检查和修复本地的SSH配置和网络设置。如果问题仍然存在,建议查阅相关的SSH文档或咨询技术支持以获取进一步的帮助。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Git通过SSH拉取错kex_exchange_identification](https://blog.csdn.net/qq_43657722/article/details/127388152)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [kex_exchange_identification: Connection closed by remote host Connection closed by 198.18.0.114 port](https://blog.csdn.net/a12355556/article/details/127691245)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值