SSH 配置文件详解

每次 SSH 连接都要输入一长串参数?~/.ssh/config 配置文件可以简化连接命令,还能统一管理多个主机的配置。 配置文件位置 SSH 客户端配置按以下顺序读取(后读取的优先级更高): /etc/ssh/ssh_config — 系统全局配置 ~/.ssh/config — 用户个人配置 用户配置会覆盖全局配置中的同名选项。 基本语法 配置文件由多个 Host 块组成,每个块定义一组主机的配置: 1 2 3 4 5 6 Host 别名 选项1 值1 选项2 值2 Host 另一个别名 选项1 值1 注意:每行的缩进使用空格(通常 4 个空格或 1 个 Tab),不是必须但推荐。 常用配置选项 选项 说明 示例 HostName 实际主机名或 IP HostName 192.168.1.100 User 登录用户名 User admin Port SSH 端口 Port 2222 IdentityFile 指定私钥文件 IdentityFile ~/.ssh/id_ed25519 PreferredAuthentications 首选认证方式 PreferredAuthentications publickey ServerAliveInterval 心跳间隔秒数 ServerAliveInterval 60 ServerAliveCountMax 心跳失败次数上限 ServerAliveCountMax 3 ProxyJump 跳板机 ProxyJump bastion 实战示例 简化连接命令 不使用配置文件:...

April 6, 2026 · 2 min · 黑豆子

SSH 密钥认证配置指南

详细讲解 SSH 密钥认证的完整配置流程,包括密钥生成、公钥部署、配置优化等步骤。

April 4, 2026 · 1 min · 黑豆子

SSH ProxyJump:跳板机配置最佳实践

详解 SSH ProxyJump 跳板机配置,包括命令行用法、SSH Config 配置、与 ProxyCommand 的对比。

April 2, 2026 · 2 min · 黑豆子

SSH 配置会话保持连接

介绍如何配置 SSH 客户端和服务端的 keepalive 机制,防止 SSH 会话因空闲而断开。

April 1, 2026 · 1 min · 黑豆子

SSH 密钥类型选择与格式转换

SSH 密钥认证比密码认证更安全、更方便。但面对多种密钥类型,应该如何选择?本文聚焦这个问题。 常见密钥类型对比 类型 密钥长度 安全性 性能 兼容性 ed25519 256位 极高 最快 OpenSSH 6.5+ rsa 4096位 高 较慢 广泛兼容 ecdsa 521位 高 快 较好 推荐:优先选择 Ed25519 Ed25519 是目前最推荐的 SSH 密钥类型: 安全性高:基于椭圆曲线,256位密钥相当于 RSA 3072位 性能优秀:签名和验证速度都很快 密钥简短:私钥仅 411 字节,公钥仅 98 字节 生成 Ed25519 密钥 1 ssh-keygen -t ed25519 -C "your_email@example.com" 输出示例: 1 2 3 4 5 Generating public/private ed25519 key pair. Your identification has been saved in test_key_ed25519 Your public key has been saved in test_key_ed25519....

March 26, 2026 · 1 min · 黑豆子

SSH 隧道实战:端口转发完全指南

SSH 隧道(SSH Tunneling)是 SSH 协议最强大的功能之一,通过端口转发实现安全的网络通信。本文聚焦 SSH 隧道的三种模式,每个命令都可直接使用。 本地端口转发(Local Forward) 将远程服务的端口映射到本地,适合访问内网服务。 基本语法 1 ssh -L [本地地址:]本地端口:目标主机:目标端口 跳板机用户@跳板机地址 实战案例:访问内网数据库 场景:跳板机 192.168.1.100 可访问内网数据库 10.0.0.50:3306 1 2 3 4 5 # 将远程 MySQL 映射到本地 3307 ssh -L 3307:10.0.0.50:3306 user@192.168.1.100 # 然后本地连接 mysql -h 127.0.0.1 -P 3307 -u dbuser -p 绑定特定接口 1 2 3 4 5 # 仅本机访问(默认) ssh -L 3307:10.0.0.50:3306 user@192.168.1.100 # 允许其他机器访问(注意安全风险) ssh -L 0.0.0.0:3307:10.0.0.50:3306 user@192.168.1.100 后台运行 1 2 3 4 5 # -f 后台运行,-N 不执行远程命令 ssh -fNL 3307:10....

March 25, 2026 · 2 min · 黑豆子

SSH 安全加固完全指南:从基础到高级配置

SSH(Secure Shell)是系统管理员最常用的远程访问协议,也是攻击者的首要目标。本文详细介绍 SSH 安全加固的各个层面,从基础配置到高级技巧,帮助你构建坚不可摧的 SSH 防线。 一、SSH 基础安全配置 sshd_config 核心配置 配置文件路径:/etc/ssh/sshd_config 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 # 禁用 root 登录 PermitRootLogin no # 禁用密码认证(强制密钥认证) PasswordAuthentication no PubkeyAuthentication yes # 禁用空密码 PermitEmptyPasswords no # 禁用 PAM(可选,提高安全性但可能影响某些认证方式) UsePAM no # 限制登录用户 AllowUsers admin deploy@192.168.1.0/24 # 或使用组 AllowGroups ssh-users # 设置登录超时(秒) LoginGraceTime 60 # 最大认证尝试次数 MaxAuthTries 3 # 限制会话数 MaxSessions 10 # 限制启动会话数(防止资源耗尽) MaxStartups 10:30:100 # 格式: start:rate:full # start: 开始拒绝前的未认证连接数 # rate: 拒绝概率增长速率 # full: 完全拒绝的连接数 修改默认端口 1 2 3 4 5 6 7 8 9 10 11 12 # 不要使用默认的 22 端口 Port 2222 # 或使用多个端口(便于过渡) Port 22 Port 2222 # 记得更新防火墙规则 ufw allow 2222/tcp # 或 firewall-cmd --add-port=2222/tcp --permanent firewall-cmd --reload 完整的安全配置示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 # /etc/ssh/sshd_config 安全加固版 # 网络设置 Port 2222 AddressFamily inet ListenAddress 0....

March 24, 2026 · 10 min · 黑豆子