Session Cookie 和 Persistent Cookie 有什么区别?Session Cookie 和 Persistent Cookie 的主要区别在于过期时间:
**Session Cookie(会话 Cookie)**
- 不设置过期时间或过期时间设为 0
- 存储在浏览器内存中
- 当浏览器关闭时自动删除
- 用于临时存储会话信息
- 示例:`Set-Cookie: sessionId=abc123`
**Persistent Cookie(持久 Cookie)**
- 设置明确的过期时间(Expires)或最大生存时间(Max-Age)
- 存储在浏览器硬盘上
- 即使浏览器关闭也会保留
- 用于长期保存用户偏好或登录状态
- 示例:`Set...
服务端 · 2月24日 22:22
Shell 脚本中单引号和双引号的区别是什么?Shell 脚本中单引号和双引号的主要区别如下:
## 单引号 (' ')
- **完全引用**: 单引号内的所有字符都按字面意思处理
- **禁止变量替换**: 单引号内的变量不会被展开
- **禁止命令替换**: 单引号内的反引号或 $() 不会执行命令
- **禁止转义**: 单引号内的转义字符(如 \n, \t)不会被解释
示例:
```bash
name='world'
echo 'Hello $name' # 输出: Hello $name
echo 'Today is $(date)' # 输出: Today is $(date)
echo 'Line...
服务端 · 2月28日 20:38
SSH 常见问题有哪些?如何进行故障排查和解决连接问题?SSH 故障排查是运维工程师必备的技能。掌握常见的 SSH 连接问题和解决方法,能够快速定位和解决问题。
## 常见连接问题
### 1. 连接超时
**症状**:连接请求长时间无响应
**可能原因**:
- 网络不通
- 防火墙阻止
- SSH 服务未运行
- 端口配置错误
**排查步骤**:
```bash
# 1. 测试网络连通性
ping server.example.com
# 2. 测试端口是否开放
telnet server.example.com 22
# 或使用 nc
nc -zv server.example.com 22
# 3. 检查本地防火墙
s...
服务端 · 2月28日 22:15
SSH 端口转发有哪些类型?如何使用本地、远程和动态端口转发?SSH 端口转发(Port Forwarding)是一种强大的功能,允许通过 SSH 加密隧道转发网络流量,保护不安全协议的数据传输。
## 端口转发类型
### 1. 本地端口转发(Local Port Forwarding)
将本地端口的流量通过 SSH 隧道转发到远程服务器。
```bash
# 基本语法
ssh -L [本地地址:]本地端口:目标主机:目标端口 用户@SSH服务器
# 示例1:访问远程服务器的 MySQL(端口 3306)
ssh -L 3306:localhost:3306 user@remote-server
# 示例2:访问远程网络中的内网服务
...
服务端 · 2月28日 22:10
如何使用 SSH 进行自动化运维?有哪些常用的自动化工具和脚本?SSH 自动化是现代 DevOps 和运维自动化的重要组成部分。通过 SSH 自动化,可以实现批量服务器管理、自动化部署、监控告警等功能。
## SSH 自动化工具
### 1. Ansible
Ansible 是最流行的 SSH 自动化工具之一,无需在目标服务器安装代理。
**安装**:
```bash
# Ubuntu/Debian
sudo apt-get install ansible
# CentOS/RHEL
sudo yum install ansible
# macOS
brew install ansible
# pip
pip install ansi...
服务端 · 2月28日 22:16
什么是 SSH 证书认证?如何配置和管理 SSH 证书?SSH 证书认证是一种基于公钥基础设施(PKI)的认证方式,相比传统的密钥认证具有更好的可管理性和安全性。
## SSH 证书认证原理
SSH 证书认证使用证书颁发机构(CA)对用户密钥进行签名,生成包含身份信息和有效期的证书。
### 架构组件
1. **CA 密钥对**:用于签发用户证书
2. **用户密钥对**:用户的公钥/私钥
3. **用户证书**:由 CA 签名的用户公钥
4. **服务器配置**:信任 CA 的公钥
## 证书类型
### 1. 用户证书(User Certificate)
用于认证用户身份。
```bash
# 生成 CA 密钥对
ssh-...
服务端 · 2月28日 22:13
什么是 SSH 连接复用?如何配置和使用连接复用提高性能?SSH 连接复用(Connection Multiplexing)是一种优化技术,通过复用现有的 SSH 连接来建立新的会话,显著提高连接速度和效率。
## 连接复用原理
SSH 连接复用利用 SSH 的 ControlMaster 功能,在第一个连接建立后保持主连接活跃,后续的新连接通过主连接复用,避免重复的认证和密钥交换过程。
### 工作流程
1. **首次连接**:建立完整的 SSH 连接(认证、密钥交换)
2. **保持连接**:主连接在后台保持活跃状态
3. **复用连接**:新连接通过主连接快速建立
4. **关闭连接**:所有会话结束后关闭主连接
## 配置方法...
服务端 · 2月28日 22:14
SSH 配置文件有哪些常用选项?如何通过配置文件简化连接管理?SSH 配置文件可以大大简化连接管理,提高工作效率。SSH 主要有两个配置文件:客户端配置文件和服务器端配置文件。
## 客户端配置文件
### 位置
- **全局配置**:`/etc/ssh/ssh_config`
- **用户配置**:`~/.ssh/config`
### 常用配置项
```bash
# ~/.ssh/config 示例
# 基本主机配置
Host server1
HostName 192.168.1.100
User admin
Port 2222
IdentityFile ~/.ssh/id_ed25519
# 使用别...
服务端 · 2月28日 22:10
什么是 SSH 隧道和跳板机?如何配置多级跳板连接?SSH 隧道是一种通过 SSH 协议创建加密通道的技术,可以在不安全的网络中安全地传输数据。跳板机(Jump Host)是 SSH 隧道的重要应用场景。
## SSH 隧道原理
SSH 隧道利用 SSH 协议的加密特性,在客户端和服务器之间建立一条加密通道,所有通过该通道的数据都经过加密保护。
### 工作流程
1. 客户端与 SSH 服务器建立加密连接
2. 在加密通道上转发特定端口的流量
3. 数据在传输过程中始终保持加密状态
4. 到达目标后解密并转发到实际目的地
## 跳板机配置
### 1. ProxyJump(推荐方式)
SSH 7.3+ 版本支持 `Proxy...
服务端 · 2月28日 22:11
什么是 SSH 协议?它有哪些主要功能和工作原理?SSH(Secure Shell)是一种加密网络协议,用于在不安全的网络中安全地进行远程登录和其他网络服务。
## 核心功能
1. **远程登录**:允许用户通过加密通道远程登录到服务器
2. **命令执行**:在远程服务器上执行命令
3. **文件传输**:通过 SFTP、SCP 等协议安全传输文件
4. **端口转发**:创建加密隧道,转发网络流量
5. **X11 转发**:远程运行图形应用程序
## 工作原理
SSH 使用客户端-服务器架构:
- **服务器端**:监听 22 端口(默认),等待连接请求
- **客户端**:发起连接,进行身份验证
- **加密通道**:所...
服务端 · 2月28日 22:09
