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

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


文章目录

  • 前言
  • 常见问题
  • 影响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.hqwc.cn/news/443628.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vulnhub靶场之Matrix-Breakout 2 Morpheus

一.环境搭建 1.靶场描述 This is the second in the Matrix-Breakout series, subtitled Morpheus:1. It’s themed as a throwback to the first Matrix movie. You play Trinity, trying to investigate a computer on the Nebuchadnezzar that Cypher has locked everyone…

力扣hot100 前 K 个高频元素 小根堆 流 IntStream

Problem: 347. 前 K 个高频元素 文章目录 思路复杂度Code 思路 &#x1f468;‍&#x1f3eb; 参考 小根堆&#xff08;维护k个高频元素&#xff09;遍历所有元素&#xff0c;当前堆大小 < k 或者 当前元素出现次数大于堆顶元素出现次数&#xff1a;替换掉堆顶元素 复杂…

细谈Java的String类

目录 1. 创建对象的思考 2. 字符串常量池&#xff08;StringTable&#xff09; 3. intern方法 1. 创建对象的思考 下面两种创建String对象的方式相同吗&#xff1f; public static void main(String[] args) {String s1 "hello";String s2 "hello";St…

迁移学习实现图片分类任务

导入工具包 import time import osimport numpy as np from tqdm import tqdmimport torch import torchvision import torch.nn as nn import torch.nn.functional as Fimport matplotlib.pyplot as plt %matplotlib inline# 忽略烦人的红色提示 import warnings warnings.fi…

【实战】使用Helm在K8S集群安装MySQL主从

文章目录 前言技术积累什么是HelmStorageClass使用的工具版本 helm 安装 MySQL 1主2从1. 添加 bitnami 的仓库2. 查询 MySQL 资源3. 拉取 MySQL chart 到本地4. 对chart 本地 values-test.yaml 修改5. 对本地 templates 模板 修改6. 安装 MySQL 集群7. 查看部署的 MySQL 集群8.…

11.Ubuntu

目录 1. 什么是Ubuntu 1.1. 概述 1.2. Ubuntu版本简介 1.2.1. 桌面版 1.2.2. 服务器版 2. 部署系统 2.1. 新建虚拟机 2.2. 安装系统 2.3. 部署后的设置 2.3.1. 设置root密码 2.3.2. 关闭防火墙 2.3.3. 启用允许root进行ssh 2.3.4. 安装所需软件 2.3.5. 制作快照 …

经典左旋,指针面试题

今天给大家带来几道面试题&#xff01; 实现一个函数&#xff0c;可以左旋字符串中的k个字符。 例如&#xff1a; ABCD左旋一个字符得到BCDA ABCD左旋两个字符得到CDAB 我们可以先自己自行思考&#xff0c;下面是参考答案&#xff1a; 方法一&#xff1a; #define _CRT_SEC…

linux 使用命令创建mysql账户

目录 前言创建步骤 前言 mysql默认有一个root用户&#xff0c;这个账户权限太大了&#xff0c;用起来不太安全&#xff0c;我们通常是重新那家一个账户用于一般的数据库操作&#xff0c;下面介绍如何通过命令创建一个mysql账户。 创建步骤 登录mysql mysql -u root -p输入roo…

如何发布自己的npm包:

1.创建一个打包组件或者库&#xff1a; 安装weback&#xff1a; 打开项目&#xff1a; 创建webpack.config.js,创建src目录 打包好了后发现两个js文件都被压缩了&#xff0c;我们想开发使用未压缩&#xff0c;生产使用压缩文件。 erserPlugin&#xff1a;&#xff08;推荐使用…

KAFKA监控方法以及核心指标

文章目录 1. 监控指标采集1.1 部署kafka_exporter1.2 prometheus采集kafka_exporter的暴露指标1.3 promethues配置告警规则或者配置grafana大盘 2. 核心告警指标2.1 broker核心指标2.2 producer核心指标2.3 consumer核心指标 3. 参考文章 探讨kafka的监控数据采集方式以及需要关…

svn 安装路径

SVN客户端安装&#xff08;超详细&#xff09; 一、SVN客户端安装 1、下载安装包地址&#xff1a;https://tortoisesvn.net/downloads.html 此安装包是英文版的&#xff0c;还可以下载一个语言包&#xff0c;在同界面的下方 一直点击下一步&#xff0c;直到弹出选择红框 然…

电子信息找工作选fpga还是嵌入式?

电子信息找工作选fpga还是嵌入式&#xff1f; 在开始前我分享下我的经历&#xff0c;刚入行时遇到一个好公司和师父&#xff0c;给了我机会&#xff0c;两年时间从3k薪资涨到18k的&#xff0c; 我师父给了一些嵌入式学习方法和资料&#xff0c;让我不断提升自己&#xff0c;感…