迅速上手: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)服务,从连接远程服务器到安全文件传输,让你轻松驾驭远程管理与数据传输,提高工作效率,…...

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 的渲染࿱…...

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):加密和解密过程用的是两套密码 历史上,…...

构建前后端分离项目常用的代码
构建前后端分离项目常用的代码 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 # 查看所有已经建立的连…...

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

解决cs不能生成Linux木马的问题
要解决的问题:众所周知,msf上面的shell或者是其他的shell想反弹给cs默认情况下是只支持windows的,因为cs的监听模块默认没有linux的,但是有些主机就是用linux搭建的,这可怎么办呢。就要用到一个插件CrossC2。 下载插件…...

vue3组件通信方式
不管是vue2还是vue3,组件通信方式很重要,不管是项目还是面试都是经常用到的知识点。 vue2组件通信方式 props:可以实现父子组件、子父组件、甚至兄弟组件通信 自定义事件:可以实现子父组件通信 全局事件总线$bus:可以实现任意组件通信 pubsub:发布订阅模式实现任意组件通信…...

前端实现生成图片并批量下载,下载成果物是zip包
简介 项目上有个需求,需要根据表单填写一些信息,来生成定制的二维码图片,并且支持批量下载二维码图片。 之前的实现方式是直接后端生成二维码图片,点击下载时后端直接返回一个zip包即可。但是项目经理说后端实现方式每次改个东西…...

android 快速实现 圆角矩形控件 及 圆形控件
1.自定义RoundImageView package com.examle.widget;import android.content.Context; import android.content.res.TypedArray; import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import an…...

【Python】外网远程登录访问jupyter notebook+pycharm使用ipython
第一步:创建python虚拟环境 conda create -n py3610 python3.6.10第二步:安装ipython pip install ipython pip install ipython notebook第三步:创建 IPython Notebook 服务器配置文件 # 进入python交互shell,设置密码 >&…...

error:0308010C:digital envelope routines::unsupported
error:0308010C:digital envelope routines::unsupported 报错原因解决方案方案一:降低node版本在17以下指定node版本 mac node版本降级 mac切换node版本 方案二:启用legacy OpenSSL provider方案三:配置package.json文件拓展:pac…...

Vue前端的工作需求
加油,新时代打工人! 需求: 实现带树形结构的表格,父数据显示新增下级,和父子都显示编辑。 技术: Vue3 Element Plus <template><div><el-table:data"tableData"style"width…...

97. 常用的HTTP服务压测工具
文章目录 导言一、ab二、wrk三、go-wrk 导言 在项目正式上线之前,我们通常需要通过压测来评估当前系统能够支撑的请求量、排查可能存在的隐藏bug,同时了解了程序的实际处理能力能够帮我们更好的匹配项目的实际需求(服务器实例个数,如需要部署…...

活动预告|听云猿生数据创始人 CEO 曹伟分享云数据库行业十余年经验总结
3月16日,KubeBlocks 将携手 OceanBase 开源社区、AutoMQ 带来《LLMs 时代下的企业数据管理与降本增效之路》主题 meetup,扫描下方二维码,即刻报名👇。 云猿生数据创始人 & CEO 曹伟将带来《KubeBlocks:把所有数据…...

数仓实战——京东数据指标体系的构建与实践
目录 一、如何理解指标体系 1.1 指标和指标体系的基本含义 1.2 指标和和标签的区别 1.3 指标体系在数据链路中的位置和作用 1.4 流量指标体系 1.5 指标体系如何向上支撑业务应用 1.6 指标体系背后的数据加工逻辑 二、如何搭建和应用指标体系 2.1 指标体系建设方法—OS…...