简介
本全面教程探讨了本地网络环境中 SSH(安全外壳协议)的配置和使用,重点是 Linux 系统。该指南面向系统管理员和开发人员,提供了有关使用 SSH 协议建立安全、高效远程连接的实用见解和最佳实践。
本全面教程探讨了本地网络环境中 SSH(安全外壳协议)的配置和使用,重点是 Linux 系统。该指南面向系统管理员和开发人员,提供了有关使用 SSH 协议建立安全、高效远程连接的实用见解和最佳实践。
SSH(安全外壳协议)是一种加密网络协议,可通过不安全的网络在计算机之间实现安全的远程访问和通信。它为执行命令、传输文件和管理网络设备提供了一个安全通道。
SSH 提供了几个关键的安全特性:
特性 | 描述 |
---|---|
加密 | 使用强大的加密算法保护数据传输 |
认证 | 通过密码或加密密钥验证用户身份 |
完整性 | 确保数据在传输过程中未被篡改 |
密码认证
公钥认证
ssh username@hostname
在 LabEx,我们建议将掌握 SSH 作为 Linux 系统管理员和网络专业人员的一项基本技能。
## 列出网络接口
ip addr show
## 发现网络设备
sudo nmap -sn 192.168.1.0/24
## 更新软件包列表
sudo apt update
## 安装 SSH 服务器
sudo apt install openssh-server
## 验证 SSH 服务状态
sudo systemctl status ssh
## 编辑 SSH 配置文件
sudo nano /etc/ssh/sshd_config
参数 | 推荐设置 | 目的 |
---|---|---|
端口 | 22 或自定义端口 | 网络访问点 |
允许 root 登录 | no | 增强安全性 |
密码认证 | no | 强制使用基于密钥的认证 |
## 通过 UFW 允许 SSH
sudo ufw allow ssh
## 启用防火墙
sudo ufw enable
## 检查当前 IP 配置
ip addr show
## 配置静态 IP(示例)
sudo nano /etc/netplan/01-netcfg.yaml
## 生成 SSH 密钥对
ssh-keygen -t rsa -b 4096
## 将公钥复制到远程机器
ssh-copy-id username@remote_host
在 LabEx,我们强调安全高效的本地网络 SSH 配置对于无缝远程访问和管理的重要性。
## 生成 SSH 密钥对
ssh-keygen -t ed25519 -f ~/.ssh/labex_key
## 将公钥复制到远程服务器
ssh-copy-id -i ~/.ssh/labex_key.pub username@remote_host
## 编辑 SSH 配置
sudo nano /etc/ssh/sshd_config
## 设置这些参数
PasswordAuthentication no
PermitRootLogin no
安全参数 | 推荐设置 | 目的 |
---|---|---|
协议 | 2 | 使用最新的 SSH 协议 |
最大认证尝试次数 | 3 | 限制登录尝试次数 |
允许的用户 | 特定用户列表 | 限制用户访问 |
## 配置防火墙
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow from 192.168.1.0/24 to any port 22
sudo ufw enable
## 安装 Fail2Ban
sudo apt install fail2ban
## 为 SSH 配置 jail
sudo nano /etc/fail2ban/jail.local
## 推荐的 SSH 密码
Ciphers [email protected],[email protected]
MACs [email protected]
## 查看 SSH 登录尝试
sudo tail -f /var/log/auth.log
## 监控当前连接
who
## 定期系统更新
sudo apt update
sudo apt upgrade
sudo systemctl restart ssh
在 LabEx,我们强调持续学习并实施强大的 SSH 安全实践,以保护你的网络基础设施。
通过掌握本地网络上的 SSH 技术,Linux 用户可以增强系统连接性、提升远程管理能力并实施强大的安全措施。本教程为专业人员提供了在基于 Linux 的基础设施上创建可靠且安全的网络通信所需的基本知识。