【ShuQiHere】️ 如何启用 SSH 服务
🛠️ 如何启用 SSH 服务
目录
- 基础概念 🌱
- 检查是否已安装 SSH 服务 🔍
- 在不同操作系统上安装 SSH 服务 💻
- Linux
- Windows 11
- macOS
- 启动和启用 SSH 服务 🚀
- 配置防火墙以允许 SSH 连接 🔥
- 配置 SSH 服务(可选)🛠️
- 测试 SSH 连接 🧪
- 总结与延伸 🌟
1. 基础概念 🌱
SSH(Secure Shell)是一种常用的远程管理协议,广泛用于服务器管理和远程开发。通过 SSH,可以安全地在网络中与远程服务器通信,所有数据传输均经过加密,以确保信息安全。在开始使用 SSH 之前,需要确保目标设备上启用了 SSH 服务。
2. 检查是否已安装 SSH 服务 🔍
在大多数 Linux 发行版中,SSH 客户端通常预装,但服务器端(sshd)可能需要单独安装。可以通过以下命令检查 SSH 服务是否已安装:
ssh -V # 检查 SSH 客户端版本
sudo systemctl status ssh # 检查 SSH 服务状态
如果出现 Unit ssh.service could not be found,说明 SSH 服务未安装。接下来我们将介绍如何安装它。
3. 在不同操作系统上安装 SSH 服务 💻
Linux
在 Ubuntu 或 Debian 上安装 OpenSSH
sudo apt update
sudo apt install openssh-server -y
在 CentOS 或 RHEL 上安装 OpenSSH
sudo yum install openssh-server -y
在 Fedora 上安装 OpenSSH
sudo dnf install openssh-server -y
Windows 11
在 Windows 11 上,SSH 客户端和服务器可以通过以下步骤启用:
-
安装 OpenSSH 服务器
- 打开 设置 > 应用 > 可选功能。
- 向下滚动并选择 添加功能。
- 找到 OpenSSH 服务器,并点击 安装。
-
启动 SSH 服务
- 打开 Windows PowerShell 以管理员身份运行。
- 输入以下命令启动并设置服务为开机自动启动:
Start-Service sshd Set-Service -Name sshd -StartupType 'Automatic'
macOS
在 macOS 上,SSH 服务通常已预装,但需要手动启用:
- 打开 系统偏好设置 > 共享。
- 勾选 远程登录,这将启用 SSH 服务。
SSH 服务器将默认使用系统用户名和密码进行身份验证。
4. 启动和启用 SSH 服务 🚀
安装完成后,需要确保 SSH 服务启动并随系统启动自动运行。
Linux
sudo systemctl start ssh # 启动 SSH 服务
sudo systemctl enable ssh # 设置为开机自动启动
检查 SSH 服务状态:
sudo systemctl status ssh
Windows 11
服务在安装后应已启动,但可通过 PowerShell 检查状态:
Get-Service sshd
macOS
SSH 服务在启用后自动运行,无需手动启动。
5. 配置防火墙以允许 SSH 连接 🔥
Linux
为了确保可以从远程设备访问 SSH,需要在防火墙中允许 SSH 端口(默认 22 端口):
使用 UFW 防火墙(适用于 Ubuntu)
sudo ufw allow ssh # 允许 SSH(22 端口)
sudo ufw enable # 启用防火墙
使用 Firewalld(适用于 CentOS / Fedora)
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
Windows 11
Windows 防火墙将自动允许 OpenSSH 服务,但如果需要手动设置,可以:
- 打开 控制面板 > 系统和安全 > Windows Defender 防火墙。
- 点击 高级设置,选择 入站规则,并确保 OpenSSH 服务允许入站流量。
macOS
macOS 的防火墙设置通常允许 SSH,但可以通过:
- 打开 系统偏好设置 > 安全性与隐私 > 防火墙。
- 点击 防火墙选项,确保 SSH 被允许。
6. 配置 SSH 服务(可选)🛠️
SSH 服务的配置文件位于 Linux 系统的 /etc/ssh/sshd_config。可以根据实际需求进行自定义配置,以提高安全性和适应性。以下是一些常见配置选项:
更改 SSH 端口
将 SSH 服务运行在非默认端口(如 2222)可以提高安全性,防止攻击者扫描默认的 22 端口:
Port 2222
更改端口后,需要重新启动 SSH 服务:
sudo systemctl restart ssh # Linux
禁止 root 用户直接登录
为了提高安全性,可以禁止 root 用户通过 SSH 直接登录:
PermitRootLogin no
禁用密码登录,仅允许密钥认证
使用公钥认证可以大大提升 SSH 的安全性,尤其适用于生产环境:
PasswordAuthentication no
提示:修改 SSH 配置文件后,需要重启 SSH 服务以使更改生效。
7. 测试 SSH 连接 🧪
启用 SSH 并完成配置后,可以尝试通过 SSH 连接服务器,验证 SSH 是否正常工作:
ssh username@your_server_ip
- username:你在服务器上的用户名。
- your_server_ip:服务器的 IP 地址。
如果更改了 SSH 端口(例如设置为 2222),可以使用 -p 选项指定端口:
ssh -p 2222 username@your_server_ip
若连接成功,说明 SSH 服务已正常运行,服务器可以接受远程连接。
8. 总结与延伸 🌟
通过以上步骤,我们完成了 SSH 服务的启用和基础配置。以下是完整的过程总结:
- 检查是否已安装 SSH 服务。
- 在不同操作系统上安装 OpenSSH 服务。
- 启动并设置 SSH 服务为开机自动启动。
- 配置防火墙,确保远程设备可以连接到服务器的 SSH 端口。
- 根据实际需求自定义 SSH 配置文件,提高安全性。
- 测试 SSH 连接,确保服务器正常接受连接。
SSH 是强大而灵活的远程管理工具,配置得当可以确保服务器的安全和便捷的管理体验。
希望这篇文章能帮助你顺利启用和配置 SSH!在后续的使用中,你还可以参考更多高级 SSH 配置选项,进一步优化服务器的安全性。若有其他问题,欢迎在评论区讨论!
相关文章:
【ShuQiHere】️ 如何启用 SSH 服务
🛠️ 如何启用 SSH 服务 目录 基础概念 🌱检查是否已安装 SSH 服务 🔍在不同操作系统上安装 SSH 服务 💻 LinuxWindows 11macOS 启动和启用 SSH 服务 🚀配置防火墙以允许 SSH 连接 🔥配置 SSH 服务&#…...
【自动化测试】APP UI 自动化(安卓)-本地环境搭建
一、软件准备及版本介绍 软件版本JAVA-SDK1.8.0_181 python 3.10.10 Android SDK Tools 下最新版本即可,无特殊要求 PyCharm 2023.3.5(下最新版本即可,无特殊要求) 二、安装步骤及环境变量配置 2.1 Java安装及配置 1&am…...
java毕业设计之基于Bootstrap的常州地方旅游管理系统的设计与实现(springboot)
项目简介 基于Bootstrap的常州地方旅游管理系统的设计与实现有下功能: 基于Bootstrap的常州地方旅游管理系统的设计与实现的主要使用者分为用户功能模块和管理员功能模块两大部分,用户可查看景点信息、景点资讯等,注册登录后可进行景点订票…...
《机甲崛起》
第一章:觉醒 在遥远的未来,地球的面貌已被人类科技彻底改变。蓝天被高耸的摩天大楼和闪烁的飞行器撕裂,城市的光辉仿佛能照亮整个星球。然而,繁华背后隐藏着深重的危机:生态环境的恶化、资源的匮乏,已成为…...
Windows10:Linux Reader
Linux Reader Access files and folders on Ext, UFS, HFS, ReiserFS, or APFS file systems from Windows DiskInternals 发布的 Linux Reader 是一款能在 Windows 系统环境下读取 Linux 分区文件的免费软件,提供了资源管理器式的浏览模式。它使用只读模式挂载 L…...
一、k8s快速入门之学习Kubernetes组件基础
一、三个容器管理器平台 Apache MESOS 开源的分布式资源管理框架,被推特选为基础平台,2019年推特换位k8s,MESOS最新版可以在MESOS上管理k8sDOCKER SWARM docker总部发行的,实现docker的集群方案,和docker捆版一起&…...
PostgreSQL 到 PostgreSQL 数据迁移同步
简述 PostgreSQL 是一个历史悠久且广泛使用的数据库,不仅具备标准的关系型数据库能力,还具有相当不错的复杂 SQL 执行能力。用户常常会将 PostgreSQL 应用于在线事务型业务,以及部分数据分析工作,所以 PostgreSQL 到 PostgreSQL …...
RestTemplate 常用方法(提供了多种方法来发送 HTTP 请求)
RestTemplate 是 Spring 框架中用于同步客户端 HTTP 请求的一个类,它提供了多种方法来发送 HTTP 请求。以下是一些常用的 RestTemplate 方法及其代码案例: 1.postForObject() 该方法用于发送 POST 请求,并期望返回一个对象。以下是一个使用…...
常量和变量
常量 常量是指在程序中使用的一些具体的数、字符。在程序运行过程中,其值不能被更改。如123,145.88,m,TRUE等。常量,用于记录程序中不可更改的数据。 分类 1、整型常量,表示整数的常量。 表示形式: 1)十进制形…...
Go语言的使用
在安装Go和配置镜像时,可以根据操作系统和网络环境来选择适合的步骤。以下是详细的安装步骤和镜像配置: 1. 安装Go 1.1 通过官方下载 访问 Go的官方下载页面 下载适合操作系统的安装包(Windows、macOS 或 Linux)。安装包下载完…...
详解CRC校验原理以及FPGA实现
文章目录 一、什么是CRC校验?二、实现CRC校验原理以及步骤2.1 用多项式表示二元码数据2.2 选择一个生成多项式作为校验2.3 计算CRC校验码 三、CRC判断数据是否错误的原理以及步骤3.1 将收到的数据与生成多项式求余3.2 数据发生错误再进行CRC校验判断 四、FPGA实现CR…...
企业如何通过架构蓝图实现数字化转型
数字化转型的关键——架构蓝图的力量 在当今的商业世界,数字化转型已经不再是一个选择,而是企业生存与发展不可回避的战略行动。企业希望通过数字化提高效率、增强灵活性,并为客户提供更好的体验。然而,数字化转型不仅仅涉及技术…...
React第十三章(useTransition)
useTransition useTransition 是 React 18 中引入的一个 Hook,用于管理 UI 中的过渡状态,特别是在处理长时间运行的状态更新时。它允许你将某些更新标记为“过渡”状态,这样 React 可以优先处理更重要的更新,比如用户输入&#x…...
IDEA使用Maven Helper查看整个项目的jar冲突
在插件市场安装Maven Helper,安装好后,重启IDEA;双击打开可能存在jar冲突的pom文件;在右侧面板查看冲突,text是引入的依赖明细,点击Dependecy Analyzer选项卡即可查看冲突的jar。...
uniapp项目 存储数据到手机本地
打开manifest.json,在App权限配置中,添加读取和写入的权限 <uses-permission android:name"android.permission.READ_EXTERNAL_STORAGE"/> <uses-permission android:name"android.permission.WRITE_EXTERNAL_STORAGE"/&g…...
景联文科技医疗数据处理平台:强化医疗数据标注与管理,推动医疗数字化新篇章
随着医疗科技快速进步与广泛应用,医疗信息的规模正在迅速扩张,如何有效管理这些医疗数据成为了关键议题。 医疗数据不仅包括传统的纸质病历,还有电子病历、实验室检测结果、医学影像等多样化的数字信息。为确保这些数据能为临床决策、科研分析…...
vue使用高德地图实现轨迹显隐
<template><div><el-button type"primary" click"pathShowOrHide">轨迹显/隐</el-button><div id"container" /></div> </template><script> import AMapLoader from amap/amap-jsapi-loaderex…...
Maven(20) 如何使用Maven进行版本管理?
Maven提供了一套强大的版本管理机制,允许开发者管理项目的版本号,并在不同的版本之间进行升级和降级。以下是如何使用Maven进行版本管理的详细步骤和代码示例: 步骤 1: 定义项目版本 在pom.xml文件中,你需要定义项目的版本号。版…...
AWS RDS MySQL内存使用
1. AWS RDS所拥有的内存(实例类型),和数据库能够使用的内存是不同的。RDS实例为操作系统和 RDS 管理进程预留了内存,数据库使用内存大小,小于数据库实例类的硬件规格中所示的值(以 GiB 为单位)[…...
Vue指令:v-else、v-else-if
目录 1.语法: 2. 题目 3.页面展示 4.结构 1.语法: 1.作用:辅助v-if进行判断渲染 2.语法:v-else 、v-esle-if"表达式" 2. 题目 <!DOCTYPE html> <html lang"en"> <head><meta chars…...
5个简单步骤掌握LiteDB.Studio:免费开源的LiteDB数据库终极GUI管理工具
5个简单步骤掌握LiteDB.Studio:免费开源的LiteDB数据库终极GUI管理工具 【免费下载链接】LiteDB.Studio A GUI tool for viewing and editing documents for LiteDB v5 项目地址: https://gitcode.com/gh_mirrors/li/LiteDB.Studio 在当今数据驱动的软件开发…...
PIPAL数据集实战:如何用Elo评分系统提升图像质量评估的准确性
PIPAL数据集实战:如何用Elo评分系统提升图像质量评估的准确性 在计算机视觉领域,图像质量评估(IQA)一直是算法研发的关键环节。随着生成对抗网络(GAN)等技术的突破,传统IQA方法逐渐暴露出局限性…...
**Flutter实战进阶:用自定义RenderObject打造高性能图表组件**在Flutter开发中,我们经
Flutter实战进阶:用自定义RenderObject打造高性能图表组件 在Flutter开发中,我们经常需要展示复杂的数据可视化效果,比如折线图、柱状图等。虽然社区已有不少成熟的图表库(如charts_flutter),但它们往往无法…...
GitHub资源精准下载:DownGit实现90%带宽节省的技术方案
GitHub资源精准下载:DownGit实现90%带宽节省的技术方案 【免费下载链接】DownGit github 资源打包下载工具 项目地址: https://gitcode.com/gh_mirrors/dow/DownGit 在开源开发流程中,开发者经常需要从GitHub仓库获取特定文件夹资源。传统方式下&…...
Qwen2.5-7B微调保姆级教程:单卡十分钟快速上手,小白也能搞定
Qwen2.5-7B微调保姆级教程:单卡十分钟快速上手,小白也能搞定 1. 前言:为什么选择Qwen2.5-7B进行微调 大模型微调听起来很高深?其实没那么复杂。今天我要带大家用最简单的方式,在单张显卡上10分钟内完成Qwen2.5-7B模型…...
Kook Zimage 真实幻想 Turbo在软件测试中的应用:自动化UI设计验证
Kook Zimage 真实幻想 Turbo在软件测试中的应用:自动化UI设计验证 1. 引言:UI设计验证的痛点与机遇 在软件开发流程中,UI设计验证一直是个让人头疼的环节。测试人员需要对照设计稿,逐个像素检查界面元素的位置、颜色、字体和布局…...
SM4算法在嵌入式平台的轻量化移植与优化实践
1. SM4算法与嵌入式平台适配挑战 SM4作为我国自主设计的商用分组密码标准,在物联网设备安全领域应用广泛。但直接将OpenSSL中的SM4实现移植到STM32等嵌入式平台时,开发者常会遇到三大难题: 代码体积膨胀:OpenSSL的SM4实现依赖大量…...
Graphormer部署案例:中小企业AI药物研发团队低成本GPU算力部署方案
Graphormer部署案例:中小企业AI药物研发团队低成本GPU算力部署方案 1. 项目背景与价值 在药物研发领域,分子属性预测是核心环节之一。传统实验方法成本高昂且周期漫长,而Graphormer作为基于纯Transformer架构的图神经网络,为这一…...
FPGA实战:手把手教你用Verilog给NAND Flash数据上把“安全锁”(附完整ECC代码)
FPGA实战:用Verilog为NAND Flash打造硬件级ECC防护系统 1. 为什么你的NAND Flash需要硬件ECC? NAND Flash存储芯片在工业控制、物联网终端和边缘计算设备中扮演着关键角色,但它的物理特性导致数据可靠性存在先天缺陷。想象一下,当…...
从智能门铃到工业质检:拆解5个嵌入式AI落地案例,看模型压缩和硬件选型怎么选
从智能门铃到工业质检:5个嵌入式AI实战案例与选型策略 智能门铃的摄像头突然捕捉到一张陌生面孔,300毫秒内完成本地人脸比对并推送到主人手机——这背后是嵌入式AI在消费电子领域的典型应用。当算法工程师面对瑞芯微RK3588和地平线旭日X3两颗芯片的选型表…...
