当前位置: 首页 > news >正文

迅速上手:CentOS 系统下 SSH 服务配置指南

前言

掌握 SSH 服务,就像拥有了一把解锁网络世界的钥匙。本文深入浅出地介绍了如何使用 SSH(Secure Shell)服务,从连接远程服务器到安全文件传输,让你轻松驾驭远程管理与数据传输,提高工作效率,保障信息安全。无论是系统管理员、开发人员还是普通用户,都会从中受益匪浅。赶紧阅读,开启全新的网络探索之旅!

ssh是什么

SSH是一种安全的远程登录协议,默认端口号是22,通过加密通信和身份认证机制,提供了安全的远程管理和文件传输功能,被广泛用于远程服务器的管理和维护。

SSH协议的基本原理是客户端-服务器模型,客户端是本地计算机上运行的程序,用于建立与远程服务器的安全连接。远程服务器上运行着SSH服务器软件,负责接受客户端的连接请求并进行身份验证。使用SSH,用户可以通过远程登录终端或者通过传输文件等方式来管理远程服务器。其中SSH是使用非对称加密算法来保证通信的安全性,在建立连接时,客户端和服务器会进行密钥交换,然后使用这些密钥进行加密和解密通信数据。在身份验证方面,SSH支持多种认证方式,包括密码认证、公钥认证和基于证书的认证。

对于SSH提供的主要功能,具体来说有以下这些:

  • 安全的远程登录:通过SSH协议,用户可以通过终端(如命令行界面)远程登录到远程服务器,并在远程服务器上执行命令。
  • 文件传输:SSH也支持安全地传输文件。用户可以使用SCP(Secure Copy)或SFTP(SSH File Transfer Protocol)等工具来在本地计算机和远程服务器之间传输文件。
  • 端口转发:SSH还支持端口转发功能,可以将本地计算机上的服务通过SSH隧道转发到远程服务器上,从而实现在不同网络中访问本地服务的功能。

如何使用ssh服务

SSH(Secure Shell)是一种安全的远程访问协议,用于远程控制和管理Linux服务器。以下是一些基本的SSH配置和管理方法:

安装SSH服务:如果你的CentOS 7系统没有安装SSH服务,可以使用以下命令安装:

yum install openssh-server

启动SSH服务 安装完毕后,可以使用以下命令启动SSH服务:

systemctl start sshd.service

设置SSH服务开机自启动:如果要使SSH服务在系统启动时自动启动,可以使用以下命令:

systemctl enable sshd.service

查询 openssh-server 的状态:

systemctl status sshd.service

其中,Active: active (running) 表示服务正在运行,Main PID: 1039 表示服务进程的 ID。

配置SSH服务端口 默认情况下,SSH服务监听22端口。为了提高安全性,建议将SSH服务端口更改为非标准端口。在/etc/ssh/sshd_config文件中,找到以下行:

#Port 22

取消注释并修改为所需的端口号:

Port 2222

重新加载SSH服务配置 由于我们已经修改了SSH服务配置文件,因此需要重新加载SSH服务以使更改生效:

systemctl reload sshd.service

防止SSH暴力破解:为了防止SSH暴力破解,可以使用fail2ban等工具来限制失败的登录尝试。fail2ban会监视系统日志并禁止来自恶意IP地址的连接尝试。安装和配置fail2ban的详细信息可以参考其他文档。

管理SSH登录

为了增强SSH安全性,可以禁止SSH root用户登录,并限制允许登录的用户列表。在/etc/ssh/sshd_config文件中,找到以下行:

#PermitRootLogin yes

取消注释并修改为以下内容来禁止root用户登录:

AllowUsers user1 user2

如果要限制特定用户列表,可以使用以下行:

AllowUsers user1 user2

这将仅允许user1和user2登录SSH服务。

ssh工具推荐

Xterminal

Xterminal是由深圳市罗湖区犄落信息咨询工作室开发的一款SSH客户端,目前支持Windows/Linux/macOS三大平台,Xterminal具有超高颜值和易用性,推荐给有需要的运维人员或程序员使用。Xterminal不仅提供了强大的SSH连接功能,还具备一系列其他实用功能。快速搜索框让你迅速搜索并直达所需的设置和SSH服务器。多级分组功能使服务器管理更加清晰和规划。除了传统的日间和夜间模式外,Xterminal还支持自定义主题,让你的界面色彩丰富多样,满足你的个性化需求。

下载地址:Xterminal - 更好用的开发工具,但不止于(SSH/控制台/More)

FinalShell

FinalShell是一体化的的服务器,网络管理软件,不仅是ssh客户端,还是功能强大的开发,运维工具,充分满足开发,运维需求。

作为一款使用Java开发的SSH面板工具,它不仅仅只进行SSH连接与指令管理,它还可以显示服务器的CPU、内存、交换空间等信息,进行文件的上传和下载,全文关键字搜索,历史指令提示等等......很明显,这是一款很有理想的SSH工具,而且还是免费。

下载地址:FinalShell SSH工具,服务器管理,远程桌面加速软件,支持Windows,macOS,Linux,版本4.3.10,更新日期2023.12.31 - FinalShell官网

WindTerm

WindTerm一款使用使用C语言开发的跨平台SSH客户端WindTerm,完全免费用于商业和非商业用途,没有限制。 所有发布的源代码(第三方目录除外)均在 Apache-2.0 许可条款下提供。

资源消耗、性能方面相比于其他软件,要好太多了;而且windows免安装解压即用,对电脑几乎是0侵入。

下载地址

Releases · kingToolbox/WindTerm · GitHub

总结:这几款ssh工具我都下载来简单试用了一下,日常使用已经够用了,如果需要使用一些更高级的功能,可能需要收费

写在最后

如果你觉得这篇文章对你有所帮助,不妨点击点赞按钮,让更多的人看到这篇优质的技术分享。同时,别忘了将这篇文章收藏起来,以备日后查阅。这样,你就能随时回顾和复习文章中的重要知识点,确保你的技术水平始终保持在最高水平。

相关文章:

迅速上手:CentOS 系统下 SSH 服务配置指南

前言 掌握 SSH 服务,就像拥有了一把解锁网络世界的钥匙。本文深入浅出地介绍了如何使用 SSH(Secure Shell)服务,从连接远程服务器到安全文件传输,让你轻松驾驭远程管理与数据传输,提高工作效率&#xff0c…...

day38 动态规划part1

509. 斐波那契数 简单 斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是: F(0) 0,F(1) 1 F(n) F(n - 1) F(n - 2),…...

01背包问题 刷题笔记

思路 dp 用f[i][j]来表示当体积为j时 考虑前i件物品可以获得的 最大值 记住f[i][j]本身是个价“价值” 考虑两种状态 是否将第i件物品放入背包里面 将背包的体积从小到大递增来进行考虑 首先 考虑条件 如果当前增加的体积放不下下一件物品 则该体积 可以获得的最大值可以直接…...

docker安装包(Linux和windows)

Linux——docker-20.10.9.tgz 网盘地址:链接:https://pan.baidu.com/s/1T3qfVZ-uT-vMAo8w6heTMw 提取码:qu85 windows——docker19.03.1 链接:https://pan.baidu.com/s/1mK6hqhkGCBs6tdBHJxrdPw 提取码:4dkj...

RabbitMQ 安装使用

文章目录 RabbitMQ 安装使用安装下载 Erlang下载 RabbitMQ 的服务安装好后看是否有 RabbitMQ 的服务开启管理 UIRabbitMQ 端口使用一览图 使用输出最简单的 Hello World!生产者定义消费者消费消息小拓展 RabbitMQ 安装使用 安装 下载 Erlang RabbitMQ 是用这个语…...

echarts x轴名称过长tip显示全称

xAxis的axisLabel的内容如下: axisLabel: { rotate: -45, color: document.body.className.indexOf(custom-f4c46d) > -1 ? #fff : #343434, // 显示省略号操作(第一步) formatter: function (value) { var val if (value.length >…...

js和css阻塞问题

面试常见问题 css 加载会不会阻塞 js 的加载?(不会)css 加载会不会阻塞 js 的执行?(会)css 加载会不会阻塞 DOM 的解析?(不会)css 加载会不会阻塞 DOM 的渲染&#xff1…...

MySQL 的基础操作

数据库的基础操作 1. 库操作2. 表的操作3. 数据类型 数据库是现代应用程序中至关重要的组成部分,通过数据库管理系统(DBMS)存储和管理数据。 1. 库操作 创建数据库 创建数据库是开始使用数据库的第一步。下面是一些常见的创建数据库的示例&a…...

【python进阶篇】面向对象编程(1)

面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想。OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。 在Python中,所有数据类型都可以视为对象,当然也可以自定义对象。自定…...

力扣面试经典150 —— 6-10题

力扣面试经典150题在 VScode 中安装 LeetCode 插件即可使用 VScode 刷题,安装 Debug LeetCode 插件可以免费 debug本文使用 python 语言解题,文中 “数组” 通常指 python 列表;文中 “指针” 通常指 python 列表索引 文章目录 6. [中等] 轮转…...

[密码学]入门篇——加密方式

一、概述 加密方法主要分为两大类: 单钥加密(private key cryptography):加密和解密过程都用同一套密码双钥加密(public key cryptography):加密和解密过程用的是两套密码 历史上&#xff0c…...

构建前后端分离项目常用的代码

构建前后端分离项目常用的代码 1.代码生成器 import com.baomidou.mybatisplus.generator.FastAutoGenerator;import com.baomidou.mybatisplus.generator.config.OutputFile;import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;​import java.util.…...

2575. 找出字符串的可整除数组(Go语言)

https://leetcode.cn/problems/find-the-divisibility-array-of-a-string/ 在看题解之前,我的代码是以下这样: package mainimport ("fmt" )func main() {fmt.Println(divisibilityArray("998244353", 3)) }func divisibilityArray…...

Redis与 Memcache区别

Redis与 Memcache区别 1 , Redis 和 Memcache 都是将数据存放在内存中,都是内存数据库。不过 Memcache 还可用于缓存 其他东西,例如图片、视频等等。 2 , Memcache 仅支持key-value结构的数据类型,Redis不仅仅支持简单的key-value类型的数据&…...

#QT(智能家居界面-界面切换)

1.IDE:QTCreator 2.实验 3.记录 (1)创建一个新界面(UI界面) (2)可以看到新加入一个ui文件,双击打开,设置窗口大小与登录界面一致 (3)加入几个PUS…...

js拓展-内置对象

目录 1. 数组对象 1.1 数组的四种方式 1.2 JS中数组的特点 1.3 常用方法 2. 日期对象 2.1 日期对象的创建 2.2 日期对象的方法 2.3 案例:输出现在的时间 3. 全局对象 3.1 字符串转换成数字类型 3.2 编码解码函数 1. 数组对象 注:数组在JS中是一…...

【李沐精读系列】GPT、GPT-2和GPT-3论文精读

论文: GPT:Improving Language Understanding by Generative Pre-Training GTP-2:Language Models are Unsupervised Multitask Learners GPT-3:Language Models are Few-Shot Learners 参考:GPT、GPT-2、GPT-3论文精读…...

Libevent的使用及reactor模型

Libevent 是一个用C语言编写的、轻量级的开源高性能事件通知库,主要有以下几个亮点:事件驱动( event-driven),高性能;轻量级,专注于网络,不如 ACE 那么臃肿庞大;源代码相当精炼、易读…...

查看Linux服务器配置

# chkconfig --list # 列出所有系统服务 # chkconfig --list | grep on # 列出所有启动的系统服务 # ifconfig # 查看所有网络接口的属性 # iptables -L # 查看防火墙设置 # route -n # 查看路由表 # netstat -lntp # 查看所有监听端口 # netstat -antp # 查看所有已经建立的连…...

【机器学习】包裹式特征选择之递归特征添加法

🎈个人主页:豌豆射手^ 🎉欢迎 👍点赞✍评论⭐收藏 🤗收录专栏:机器学习 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共同学习、交流进…...

java 实现excel文件转pdf | 无水印 | 无限制

文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...

大语言模型如何处理长文本?常用文本分割技术详解

为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...

Spring Boot面试题精选汇总

🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...

Linux-07 ubuntu 的 chrome 启动不了

文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了,报错如下四、启动不了,解决如下 总结 问题原因 在应用中可以看到chrome,但是打不开(说明:原来的ubuntu系统出问题了,这个是备用的硬盘&a…...

iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈

在日常iOS开发过程中,性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期,开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发,但背后往往隐藏着系统资源调度不当…...

Netty从入门到进阶(二)

二、Netty入门 1. 概述 1.1 Netty是什么 Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. Netty是一个异步的、基于事件驱动的网络应用框架,用于…...

mac 安装homebrew (nvm 及git)

mac 安装nvm 及git 万恶之源 mac 安装这些东西离不开Xcode。及homebrew 一、先说安装git步骤 通用: 方法一:使用 Homebrew 安装 Git(推荐) 步骤如下:打开终端(Terminal.app) 1.安装 Homebrew…...

tauri项目,如何在rust端读取电脑环境变量

如果想在前端通过调用来获取环境变量的值&#xff0c;可以通过标准的依赖&#xff1a; std::env::var(name).ok() 想在前端通过调用来获取&#xff0c;可以写一个command函数&#xff1a; #[tauri::command] pub fn get_env_var(name: String) -> Result<String, Stri…...

Java求职者面试指南:Spring、Spring Boot、Spring MVC与MyBatis技术解析

Java求职者面试指南&#xff1a;Spring、Spring Boot、Spring MVC与MyBatis技术解析 一、第一轮基础概念问题 1. Spring框架的核心容器是什么&#xff1f;它的作用是什么&#xff1f; Spring框架的核心容器是IoC&#xff08;控制反转&#xff09;容器。它的主要作用是管理对…...

精益数据分析(98/126):电商转化率优化与网站性能的底层逻辑

精益数据分析&#xff08;98/126&#xff09;&#xff1a;电商转化率优化与网站性能的底层逻辑 在电子商务领域&#xff0c;转化率与网站性能是决定商业成败的核心指标。今天&#xff0c;我们将深入解析不同类型电商平台的转化率基准&#xff0c;探讨页面加载速度对用户行为的…...