Ubuntu 中 SSH 服务的配置与原理详解

目录

  • [1. 基本知识](#1. 基本知识)
  • [2. 配置步骤](#2. 配置步骤)

1. 基本知识

一种用于在不安全的网络上安全登录和执行命令的协议

通过加密的方式保护通信数据,确保在传输过程中不被窃取或篡改

SSH 常用于远程登录服务器、传输文件以及执行命令

SSH 原理

公钥和私钥:SSH 使用公钥加密来确保安全性

每个用户生成一对密钥:一个私钥(保密)和一个公钥(公开)

服务器保存用户的公钥,客户端保存用户的私钥

认证过程:

  1. 客户端发起连接时,服务器会发送一个随机生成的挑战消息
  2. 客户端使用私钥对挑战消息进行签名,并将签名发送回服务器
  3. 服务器使用保存的公钥验证签名。如果签名正确,服务器便信任客户端的身份

加密通信 :通过认证后,客户端和服务器使用对称加密算法(如 AES)来加密会话数据

双方会协商一个会话密钥,这个密钥用于加密通信数据

2. 配置步骤

在 Ubuntu 上,SSH 服务通常由 OpenSSH 提供。可以通过以下命令安装:

bash 复制代码
sudo apt update # 更新源
sudo apt install openssh-server # 安装ssh服务器
sudo apt install openssh-client	# 安装ssh客户机,这一步看着来,可以不要

安装完成后,SSH 服务将自动启动。可以通过以下命令检查 SSH 服务的状态:

java 复制代码
sudo systemctl status ssh

之后配置相应的ssh服务:sudo nano /etc/ssh/sshd_config,也可使用vim进行编辑

常见的配置如下;

  • 端口号 (Port):默认为 22。为了安全,可以更改为其他未被使用的端口

  • 允许的认证方式 (AuthenticationMethods):可以设置允许的认证方式,如 password 或 publickey。建议使用公钥认证

  • 禁止 root 用户登录 (PermitRootLogin):出于安全考虑,通常禁止 root 用户通过 SSH 登录

  • 允许的用户 (AllowUsers):可以指定允许通过 SSH 登录的用户

详细的配置参数如下:

在最后添加如下:PermitRootLogin yes # 允许root用户登录 (最主要的是这个还有一个端口号配置)

配置相应的root用户密码:sudo passwd

配置完成之后重启即可:sudo systemctl restart ssh

相关推荐
yunwei3732 分钟前
eBPF 入门实践教程第五十篇:使用 TCX Link 实现可组合的流量控制
linux·云原生·开源
2401_8275012844 分钟前
Linux系统移植
linux·arm开发·单片机
爱码少年1 小时前
SSH密钥登录完整流程与原理详解
运维·ssh
2601_965798471 小时前
Build a Consulting Site in 2026: Nifty Theme Practical Review
java·linux·数据库
加油码1 小时前
共享内存详解:原理、系统调用与高性能进程间通信
linux·c语言·c++
枳实-叶2 小时前
Linux 环境下段错误出现的原因及调试方法
linux·运维·服务器
Dawn-bit2 小时前
Linux文本处理三剑客之sed详解
linux·运维·服务器·云计算·运维开发
dok122 小时前
Johannes 《Linux内核模块与设备驱动开发:编写Linux驱动程序》 (9)manual_cdev
linux·运维·驱动开发
Cx330❀2 小时前
【Linux网络】深入 HTTP 协议(五):从 Cookie/Session 原理到 C++ 源码实战
linux·运维·服务器·开发语言·网络·c++·http
keyipatience3 小时前
Socket编程3个版本
linux·运维·服务器·开发语言·网络·ubuntu