远程连接服务器:Ping通但SSH连接失败的解决办法

news2024/11/29 2:36:19

写在前面:本博客仅作记录学习之用,部分图片来自网络,如需引用请注明出处,同时如有侵犯您的权益,请联系删除!


文章目录

  • 前言
  • 常见问题
  • 影响SSH的因素
    • 本地影响因素
      • 防火墙设置
      • 网络配置文件
    • 远程主机影响因素
      • 放行SSH端口/端口故障
      • 开启SSH服务
      • 服务器故障
  • 总结
  • 致谢
  • 参考


前言

题外话1 都一月底了,各位小伙伴都放假回家了没?

随着远程办公的普及,数字化转型成为企业/个人必须面对的课题,可以帮助企业/个人实现更高效、更灵活、更快速的产出。通常企业/学校都有内部的计算机网络,为内部人员提供一个实践的环境和资源。

但是一旦脱离内部的局域网,资源的访问就会存在限制,但一般回家之后如果临时访问资源该如何实现?

咦~,你这都不会?

  • 远程桌面控制:允许用户在不同的地理位置通过互联网访问远程主机资源,如向日葵等,但是该方法需要远程主机安装软件并时刻能连接互联网。
  • 动态端口映射:对远程主机的端口绑定到公网上,实现外网与内网的通信,如花生壳net123,但是该方法需要远程主机时刻能连接互联网。
  • 虚拟专用网络(VPN):在公用网络上建立专用网络,进行加密通讯,创建一个私密的网络环境,但是需要内网提供VPN的服务。

综合来看,如需直接操作远程电脑,网络带宽和稳定性较好的前提下,可以选择远程桌面控制;如果需要远程访问内网中的资源,可以选择动态端口映射或虚拟专用网络(VPN)。
相对来说,动态端口映射和VPN更为常用和方便。

对于只需要跑跑程序或操作无桌面的远程主机的情况下,一般使用VPN更为方便,几年疫情的磨练,多数企业/学校均有特色的连接方式。

但是远程连接VPN可能存在些问题,导致无法成功连接,因此在本文中,将详细介绍SSH连接远程失败的问题和解决步骤,通过这些信息,希望帮助小伙伴更好地解决VPN连接的问题,以便在必要时能够有效地进行居家学习/办公。

常见问题

一般需要使用VPN软件进行连接,然后进行SSH连接,发现无法连接,如下:
在这里插入图片描述
在这里插入图片描述
此时,进一步的使用Ping发现可以Ping通,如下:
在这里插入图片描述

这个时候应该考虑什么因素呢?

先要了解Ping和SSH的关系。Ping和SSH是两个在网络上广泛使用的工具,但它们有着明显的不同。

  • Ping : 用于测试网络连接的命令,它通过发送ICMP回应请求来检测与目标主机之间的连接状态, 目标主机在线并且可以响应,用户将收到一个回应,表明网络连接正常。
  • SSH : 一种安全协议,用于远程登录到另一台计算机。通过SSH,用户可以在远程计算机上执行命令,就像直接在本地计算机上执行一样。

总的来说,Ping主要用于测试网络连接,而SSH则用于远程登录和执行命令,因此Ping通是SSH连接成功的前提,如果网络连接不可达,那SSH是无意义的。因此Ping通后只需考虑SSH相关的因素即可。

影响SSH的因素

因此后续只需考虑SSH相关的因素,大致分为本地因素和远程主机因素。

本地影响因素

本地影响因素主要是防火墙可能会阻止SSH连接,以及网络配置问题。但是Ping通意味着DNS、子网掩码等基本没有问题,因此基本可以考虑以下内容:防火墙以及对应网络配置文件。

防火墙设置

防火墙主要查看关于VPN以及SSH连接软件是否允许操作,如下图,如对应的对象不被允许,需要更改权限以允许访问。
在这里插入图片描述

网络配置文件

现在无论是公开场所还是居家几乎都实现了WiFi覆盖,在没有以太网的情况下,WiFi成为了不二选择。通常WiFi连接成功都会提示是否为专用网络还是公共网络以赋予对应的权限。如下图,如果是专用网络意味着信任该网络,权限基本上都赋予了;但是如果是公用网络类型,则不让其他设备无法识别该电脑,此时SSH可能会失败。因此建议使用专用网络。

在这里插入图片描述

此外也可以进行网络的防火墙和安全设置,对其进行进一步设置,比如传入连接之类的,如下图:

在这里插入图片描述

远程主机影响因素

放行SSH端口/端口故障

SSH默认是22端口,如果在局域网成功连接过,那意味着该主机的SSH服务和端口都是OK的。如果使用的是云服务器,此处以阿里云为例,阿里云对于云服务器需要配置安全组进行人为的端口放行,如下图:

在这里插入图片描述

同样的百度云、腾讯云服务器也是类似的,否则对应的端口无法与本地建立连接。

此外,由于各种因素,如端口被占用/封闭,此时连接是无法畅通。我们需要做的就是检查端口是否有被封,然后通过更换SSH端口来解决,大致的步骤如下:

  • 打开命令提示符或终端,并使用管理员权限登录到系统。

  • 备份原始的SSH配置文件,在命令提示符或终端窗口中输入以下命令将备份原始的SSH配置文件到sshd_config.bak文件,使得后续可以复原:sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

  • 使用文本编辑器打开SSH配置文件/etc/ssh/sshd_config。在命令提示符或终端窗口中输入以下命令:sudo vi /etc/ssh/sshd_config

  • 在配置文件中找到该行:#Port 22,将其修改为所需的端口号,例如:Port 1234
    Note: 确保选择的端口号没有被其他服务使用,并且是大于1024的非保留端口。

  • 保存更改并关闭文件。在Vi编辑器中,按下Esc键,然后输入:wq保存并退出。

  • 重启SSH服务以使更改生效。在命令提示符或终端窗口中输入以下命令:sudo systemctl restart sshd

  • 防火墙中放行新端口以确保可以正常连接到SSH服务,使用下列命令:sudo firewall-cmd --zone=public --add-port=1234/tcp --permanent

  • 重载防火墙,使放行端口生效:sudo firewall-cmd --reload

  • 测试SSH连接是否正常。使用SSH客户端尝试连接到新的端口号,例如:ssh username@localhost -p 2222,如果一切正常,您将能够成功连接到SSH服务器。

注意,修改SSH默认端口可能会影响系统的安全性。确保选择一个安全的端口号,并采取其他安全措施来保护系统,例如使用强密码、禁用root登录等。

开启SSH服务

以下是在Linux系统上开启SSH服务的通用步骤:

  • 安装SSH服务器软件包。在终端中输入以下命令:sudo apt-get install openssh-server

  • 启动SSH服务,允许其他计算机通过SSH协议连接到该Linux系统。在终端中输入以下命令:sudo systemctl start ssh

  • 设置SSH服务为开机自启动。在终端中输入以下命令:sudo systemctl enable ssh

  • 防火墙设置。启用防火墙后,需要确保允许SSH流量通过。具体防火墙设置方式因系统而异,但通常需要打开SSH相关的端口(默认为22端口)。

  • 测试SSH服务是否正常。在终端中输入以下命令:sudo ps -e | grep ssh
    如果看到sshd进程,则表示SSH服务已经启动。如果没有启动,请使用上述命令再次启动SSH服务。

  • 使用SSH客户端连接。使用SSH客户端从其他设备连接到该系统并进行远程管理和文件传输。例如,在终端中输入以下命令:ssh username@your_server_ip_address
    如果一切正常,将成功连接到SSH服务并开始远程管理。

注意,以上步骤仅适用于基于Debian和Ubuntu的Linux发行版。

服务器故障

网络连接问题: 如果网络连接存在问题,如网络延迟、丢包等,也会导致SSH连接失败。
SSH服务出现故障: 如果SSH服务本身出现故障,如程序崩溃等,则SSH连接也会失败

此时,可重启服务器,因为重启基本上能够解决80%问题;重启无效可以重启SSH服务或检查网卡驱动、以及检查硬件是否损坏,如网线故障等。

总结

本文主要从Ping与SSH的关系进行说明,进一步的以本地和远程服务器无法SSH连接的原因进行说明与解决。具体来说:

  • Ping通是SSH连接成功的前提
  • 本地影响因素:主要是防火墙可能会阻止SSH连接,以及网络配置问题。
  • 远程主机影响因素:放行SSH端口/端口故障、开启SSH服务、 服务器故障。

完成以上因素检查后,SSH应该可以正常工作,希望这些信息能够帮助小伙伴顺利解决VPN连接的问题,以便在必要时能够有效地进行居家学习/办公。


致谢

欲尽善本文,因所视短浅,怎奈所书皆是瞽言蒭议。行文至此,诚向予助与余者致以谢意。


参考

  • 安全加固指南:如何更改 SSH 服务器的默认端口号
  • 老蒋笔记 - 服务器能PING通但是SSH连不上的三个原因

  1. 文末投票 ↩︎

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1432501.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PyTorch 2.2 中文官方教程(二十)

移动设备 在 iOS 上进行图像分割 DeepLabV3 原文:pytorch.org/tutorials/beginner/deeplabv3_on_ios.html 译者:飞龙 协议:CC BY-NC-SA 4.0 作者:Jeff Tang 审阅者:Jeremiah Chung 介绍 语义图像分割是一种计算机视…

QCustomplot实现灰度曲线图

从 QCustomplot官网 https://www.qcustomplot.com/index.php/download 下载支持文件。首页有些demo可以进行参考学习。 新建一个Qt工程,将下载得到的qcustomplot.h和qcustomplot.cpp文件加入到当前工程。pro文件中加上 printsupport 在ui界面中,添加一…

Container 命令ctr、crictl 命令

1、 Containerd和Docker的架构区别 Docker vs. Containerd: 2、ctr & crictl的区别 ctr是containerd的一个客户端工具 crictl 是 CRI 兼容的容器运行时命令行接口,可以使用它来检查和调试 Kubernetes 节点上的容器运行时和应用程序 crictl 则直接对…

2024牛客寒假算法基础集训营1(视频讲解全部题目)

2024牛客寒假算法基础集训营1&#xff08;题目全解&#xff09; ABCDEFGHIJKLM 2024牛客寒假算法基础集训营1&#xff08;视频讲解全部题目&#xff09; A #include<bits/stdc.h> #define endl \n #define deb(x) cout << #x << " " << …

redis数据库设置对象的过期时间,到期后自动删除该条数据

redis数据库设置对象的过期时间,到期后自动删除该条数据&#xff01;过期时间的事情经常发生。比如大家领到了一些购物券。这张购物券有一个过期时间。必须在某节点之前&#xff08;某年某月末日&#xff09;之前&#xff0c;使用掉&#xff0c;否则该券就会过期&#xff0c;无…

ES高可用架构涉及常用功能整理

ES高可用架构涉及常用功能整理 1. es的高可用系统架构和相关组件2. es的核心参数2.1 常规配置2.2 特殊优化配置2.2.1 数据分片按ip打散2.2.2 数据分片机架感知2.2.3 强制要求数据分片机架感知2.2.4 写入线程池优化2.2.5 分片balance优化2.2.6 限流控制器优化 3. es常用命令3.1 …

超低价搭建cyberpanel+LiteSpeed企业版web服务器

注意&#xff0c;这里的企业版使用的是官方提供的免费密钥&#xff0c;在密钥激活后有一个月的有效时间&#xff0c;到期后官方会自动续期你的密钥 教学用配置&#xff1a; image1097698 126 KB 优惠链接&#xff1a;雨云 - 新一代云服务提供商 3 这是LiteSpeed&#xff08;以…

vue3 源码解析(5)— patch 函数源码的实现

什么是 patch 在 vue 中 patch 函数的作用是在渲染的过程中&#xff0c;比较新旧节点的变化&#xff0c;通过打补丁的形式&#xff0c;进行新增、删除、移动或替换操作&#xff0c;此过程避免了大量的 dom 操作&#xff0c;提升了运行的性能。 patch 执行流程 patch 函数整体…

0-MQTT基础使用教程【学习】

文件路径 MQTT基础使用教程1. MQTT1.1 MQTT简介1.1.1 什么是MQTT1.1.2 设计原则1.1.3 应用领域1.2 MQTT协议相关概念1.2.1 MQTT协议实现方式1.2.2 MQTT协议中的方法1.3 消息服务质量QoS1.3.1 消息服务质量QoS三个等级1.3.2 发布与订阅QoS1.4 Topic通配符匹配规则2. EMQX2.1 EMQ…

100183. 最大好子数组和

题目&#xff1a; 给你一个长度为 n 的数组 nums 和一个 正 整数 k 。 如果 nums 的一个子数组中&#xff0c;第一个元素和最后一个元素 差的绝对值恰好 为 k &#xff0c;我们称这个子数组为 好 的。换句话说&#xff0c;如果子数组 nums[i..j] 满足 |nums[i] - nums[j]| k…

Python基于时间序列分析的大气污染预测的设计与实现,附源码

1 简介 Python基于时间序列分析的大气污染预测的设计与实现 摘要&#xff1a;随着当今社会工业的发展&#xff0c;世界各地的空气质量都下降的非常明显&#xff0c;大气的污染对人们的身体健康会产生极大的危害。所以从20世纪初我国就十分关注空气质量的治理问题&#xff0c;…

【Java】Redis入门

1. Redis入门 1.1 Redis简介 Redis是一个基于内存的key-value结构数据库。Redis 是互联网技术领域使用最为广泛的存储中间件。 官网&#xff1a;https://redis.io 中文网&#xff1a;https://www.redis.net.cn/ key-value结构存储&#xff1a; 主要特点&#xff1a; 基于内…

【Android】使用Termux终端的SSH服务与电脑传输文件

在Android手机上有一个Termux APP&#xff0c;可运行类似 Linux 终端的模拟器&#xff0c;记得之前有讲过用电脑远程控制手机终端命令&#xff0c;那现在&#xff0c;怎样实现电脑与手机直接传输文件呢&#xff0c;且看这篇文章。 文章目录 Termux安装功能ssh服务从远程下载从本…

深度学习入门笔记(六)线性回归模型

本节&#xff0c;我们用线性回归为例子&#xff0c;回顾一些基本概念 6.1 相关性 相关性的取值范围是-1 到 1&#xff0c;越接近 1 或者-1 代表越相关&#xff0c;越接近 0 则越不相关。相关系数大于 0 称为正相关&#xff0c;小于 0 称为负相关。 假如 A 与 B 正相关&#…

[Linux 进程控制(二)] 写时拷贝 - 进程终止

文章目录 1、写时拷贝2、进程终止2.1 进程退出场景2.1.1 退出码2.1.2 错误码错误码 vs 退出码2.1.3 代码异常终止引入 2.2 进程常见退出方法2.2.1 exit函数2.2.2 _exit函数 本片我们主要来讲进程控制&#xff0c;讲之前我们先把写时拷贝理清&#xff0c;然后再开始讲进程控制。…

VMware无法检测到插入的USB设备,虚拟机插拔USB无反应

原本正常使用的VMware虚拟机&#xff0c;在进行了重装软件后&#xff0c;发现虚拟机插拔USB设备都无法检测到&#xff0c;没有任何的反应和提示。 通过一系列的操作发现&#xff0c;在新安装了VMware workstation 软件后&#xff0c;存在一定的概率性会发生VMware虚拟机无法自…

牛客网-------------------------长方体

解题思路&#xff1a; 设棱长为x&#xff0c;y&#xff0c;z&#xff1b;假设已知面积为a&#xff0c;b&#xff0c;c 那么&#xff0c;xya&#xff1b;yzb&#xff1b;xzc&#xff1b; 一式除二式得x/za/b x(a/b)*z 联立xzc 代入得&#xff08;a/b)z^2c z^2c*b/a z根号下&…

pdf怎么转成高清图?pdf在线转换器推荐分享

在日常的工作或者学习中&#xff0c;有时候会需要将编辑好的pdf转高清图片&#xff0c;这样更方便我们后续使用&#xff0c;那么怎么将pdf转图片&#xff08;https://www.yasuotu.com/pdftopic&#xff09;还能保持清晰呢&#xff1f;下面介绍一款pdf转换工具&#xff0c;支持p…

某头部股份制银行基于 Data Fabric 的敏捷数据准备创新实践

【背景】 随着数字化转型的持续深入&#xff0c;某头部股份制银行把“依托数据洞察提升管理和营销的精准度、实现经营与服务的精细化与个性化”作为参与下一阶段数字化业务竞争的核动力。经过多年的探索&#xff0c;该头部股份制银行数字化技术与业务场景的融合逐渐进入了深水…

中科大计网学习记录笔记(三):接入网和物理媒体

前言&#xff1a; 学习视频&#xff1a;中科大郑烇、杨坚全套《计算机网络&#xff08;自顶向下方法 第7版&#xff0c;James F.Kurose&#xff0c;Keith W.Ross&#xff09;》课程 该视频是B站非常著名的计网学习视频&#xff0c;但相信很多朋友和我一样在听完前面的部分发现信…