SSH连接问题:ping通,ssh连接失败

本文详细介绍了如何解决Ubuntu服务器上能ping通但无法通过SSH连接的问题,通过关闭防火墙、配置端口访问及检查防火墙状态,一步步引导读者解决常见问题。

问题描述:

  • 前提:能通过远程软件控制服务器桌面!并操控服务器!
  • 在同一个局域网中,一台电脑能ping通服务器,但是不能ssh连接;
  • 服务器自身能ssh连接:ssh username@localhost;

解决办法:

我的解决办法是:关闭服务器防火墙

服务器为:Ubuntu系统:

  • 查看防火墙当前状态
sudo ufw status
  • 查看防火墙版本
sudo ufw version
  • 开启防火墙
sudo ufw enable
  • 关闭防火墙
sudo ufw disable
  • 允许外部访问本机
sudo ufw default allow
  • 拒绝外部访问主机
sudo ufw default deny
  • 允许外部访问53端口
sudo ufw allow 53
  • 拒绝外部访问53端口
sudo ufw deny 53
  • 允许某个IP地址访问本机所有端口
sudo ufw allow from (IP): sudo ufw allow from 192.168.1.1

点赞,关注,收藏👍,➕,👀点赞,关注,收藏👍,➕,👀点赞,关注,收藏👍,➕,👀
💪💪💪💪💪💪💪💪💪💪💪💪💪💪💪💪💪💪💪💪💪💪💪💪💪💪💪💪💪💪💪💪

在这里插入图片描述

### 原因分析 虚拟机可以 `Ping` ,但无法过 `SSH` 连接常涉及以下几个原因: 1. **SSH 服务未正常运行** 即使虚拟机网络正常,如果 `SSH` 服务没有正确启动,将无法建立连接。可以过 `systemctl status sshd` 检查服务状态。 2. **防火墙阻止连接** `CentOS 8` 默认启用 `firewalld` 防火墙,可能会阻止 `SSH` 端口(22)的访问。需要检查是否开放了相应的端口。 3. **SSH 配置问题** `sshd_config` 文件中的配置可能限制了某些连接行为,例如禁止 `root` 登录、未启用密码认证等。 4. **端口监听问题** `SSH` 服务可能未正确监听网络接口,或者监听地址配置错误。 5. **网络模式配置问题** `VMware` 的网络模式(如 `NAT`、`桥接`、`仅主机`)可能影响 `SSH` 连接的可达性。 --- ### 解决方法 #### 1. 检查 SSH 服务状态 确保 `SSH` 服务正在运行,可以使用以下命令查看状态: ```bash systemctl status sshd ``` 如果服务未运行,可以使用以下命令启动: ```bash systemctl start sshd ``` 同时设置开机自启: ```bash systemctl enable sshd ``` #### 2. 检查防火墙设置 检查 `firewalld` 是否阻止了 `SSH` 端口: ```bash firewall-cmd --list-all ``` 如果 `22/tcp` 端口未开放,使用以下命令添加: ```bash firewall-cmd --permanent --add-port=22/tcp firewall-cmd --reload ``` #### 3. 检查 SSH 配置文件 编辑 `/etc/ssh/sshd_config` 文件,确保以下配置项未被注释且设置正确: ```bash Port 22 PermitRootLogin yes PasswordAuthentication yes ``` 保存并退出后,重启 `SSH` 服务: ```bash systemctl restart sshd ``` #### 4. 检查 SSH 服务监听地址 确认 `SSH` 服务是否监听所有网络接口: ```bash ss -tuln | grep 22 ``` 如果输出显示 `127.0.0.1:22`,说明 `SSH` 仅监听本地回环地址,需修改 `sshd_config` 文件,确保以下行未被注释: ```bash ListenAddress 0.0.0.0 ``` 保存并重启 `SSH` 服务。 #### 5. 检查 VMware 网络模式 进入 `VMware` 设置,确认虚拟机使用的网络模式是否为 `NAT` 或 `桥接` 模式,避免使用 `仅主机` 模式,因为该模式下虚拟机无法与外部网络信。 #### 6. 检查虚拟机网络接口配置 查看虚拟机的网络接口配置文件,常位于 `/etc/sysconfig/network-scripts/` 目录下,例如 `ifcfg-ens33`。确保以下配置项正确: ```bash BOOTPROTO=dhcp ONBOOT=yes ``` 保存并重启网络服务: ```bash nmcli connection reload nmcli connection up ens33 ``` #### 7. 检查虚拟机是否安装了 SSH 服务 使用以下命令检查是否安装了 `openssh-server`: ```bash yum list installed | grep openssh-server ``` 如果未安装,使用以下命令安装: ```bash yum install -y openssh-server ``` --- ### 总结 过上述步骤,可以排查并解决虚拟机可以 `Ping` 无法过 `SSH` 连接问题。常见问题包括 `SSH` 服务未运行、防火墙阻止连接、配置文件错误、网络模式配置不当等。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值