在Linux上安装SSH(通常是OpenSSH)的步骤如下,适用于大多数主流发行版,如何在Linux上快速安装OpenSSH?,想在Linux上秒装OpenSSH?这个简单方法你试过吗?
系统环境准备
系统更新
在安装前建议更新软件源以确保获取最新版本:
# Debian/Ubuntu 系系统 sudo apt update && sudo apt upgrade -y # RHEL/CentOS 系系统 sudo yum update -y # CentOS 7及以下 sudo dnf upgrade -y # CentOS 8+/RHEL 8+
安装OpenSSH服务端
各主流发行版的安装命令:
Ubuntu/Debian
sudo apt install openssh-server -y
CentOS/RHEL
# 传统YUM系 sudo yum install openssh-server openssh-clients -y # 现代DNF系 sudo dnf install openssh-server openssh-clients -y
Arch Linux
sudo pacman -S openssh --noconfirm
Fedora
sudo dnf install openssh-server -y
服务管理
启动与自启配置
sudo systemctl start sshd # 立即启动服务 sudo systemctl enable sshd # 设置开机自启 sudo systemctl status sshd # 验证服务状态
注意:部分旧版系统可能使用
ssh
而非sshd
作为服务名
网络配置
防火墙规则设置
UFW防火墙(Ubuntu默认)
sudo ufw allow 22/tcp # 开放默认SSH端口 sudo ufw enable # 启用防火墙
Firewalld(CentOS/RHEL)
sudo firewall-cmd --permanent --add-service=ssh sudo firewall-cmd --reload
自定义端口配置示例
# 假设使用2222端口 sudo firewall-cmd --permanent --add-port=2222/tcp sudo firewall-cmd --reload
连接测试
在客户端执行:
ssh -v username@server_ip # -v参数显示详细连接信息
连接参数说明:
username
:服务器有效用户账号server_ip
:服务器公网IP或域名-p port
:当使用非22端口时需要指定
安全加固配置
配置文件修改
sudo nano /etc/ssh/sshd_config # 推荐使用vim或nano编辑
关键安全选项
-
端口修改
Port 2222 # 建议使用49152-65535间的端口
-
访问控制
PermitRootLogin no # 禁用root直接登录 AllowUsers admin webmaster # 白名单用户
-
认证优化
PasswordAuthentication no # 禁用密码登录 PubkeyAuthentication yes # 启用密钥认证
-
连接限制
MaxAuthTries 3 # 最大尝试次数 LoginGraceTime 1m # 登录超时
-
性能优化
UseDNS no # 禁用DNS反查 Compression no # 关闭压缩(防CRIME攻击)
配置生效
sudo systemctl restart sshd
密钥认证配置
密钥对生成(客户端)
# 推荐ed25519算法(更安全高效) ssh-keygen -t ed25519 -C "备注信息" # 兼容性方案(RSA 4096位) ssh-keygen -t rsa -b 4096 -f ~/.ssh/server_key
公钥部署
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@host -p 2222
权限设置
chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys
高级功能
端口转发
# 本地端口转发(访问本地8080即访问远程80) ssh -L 8080:localhost:80 user@host # 远程端口转发(将本地22暴露到远程2222) ssh -R 2222:localhost:22 user@host
多因素认证
- 安装Google Authenticator:
sudo apt install libpam-google-authenticator
- 执行配置向导:
google-authenticator
- 修改SSH配置:
AuthenticationMethods publickey,keyboard-interactive
故障排查
常见问题处理
-
连接被拒绝
- 检查服务状态:
systemctl status sshd
- 验证端口监听:
ss -tulnp | grep ssh
- 检查防火墙规则
- 检查服务状态:
-
认证失败
- 查看日志:
journalctl -u sshd -n 50
- 验证密钥权限
- 临时启用密码登录调试
- 查看日志:
-
连接缓慢
GSSAPIAuthentication no
维护建议
- 定期检查
/var/log/auth.log
异常登录 - 保持OpenSSH版本更新
- 建议每季度轮换SSH密钥
- 使用fail2ban防御暴力破解
安全提示:生产环境务必禁用密码登录,建议配合VPN或跳板机使用
优化说明:
- 结构调整为更符合技术文档的层级关系
- 补充了各发行版的安装差异说明
- 增加了安全配置的详细参数说明
- 完善了故障排查的具体命令
- 添加了维护建议和安全提示
- 优化了代码块的格式统一性
- 删除了可能侵权的图片引用
- 增加了SSH算法选择的专业建议
该版本在保持原有信息的基础上,增强了技术严谨性和可操作性,同时避免了版权风险,需要配图时可自行添加符合CC协议的示意图。
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理!
部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!
图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!