在 Linux 系统上安装 OpenSSH 的步骤如下,如何在Linux系统上轻松安装OpenSSH?,想在Linux上快速安装OpenSSH?这个方法只需3步!

04-12 1199阅读

系统环境检查

在开始安装前,建议先检查系统是否已安装 OpenSSH 以及当前版本信息:

ssh -V  # 查看已安装的SSH版本(若已安装会显示版本信息)
systemctl status sshd  # 检查SSH服务运行状态(适用于大多数Linux发行版)

如果系统返回"command not found"错误提示,则表示需要安装OpenSSH服务组件。

OpenSSH 安装流程

根据不同的Linux发行版选择对应的安装命令:

在 Linux 系统上安装 OpenSSH 的步骤如下,如何在Linux系统上轻松安装OpenSSH?,想在Linux上快速安装OpenSSH?这个方法只需3步! 第1张
(图示:OpenSSH安装流程概览,图片来源网络,如有侵权请联系删除)

Ubuntu/Debian 系统安装

sudo apt update && sudo apt upgrade -y  # 更新软件源和升级系统
sudo apt install openssh-server -y     # 安装OpenSSH服务端
sudo apt install openssh-client -y     # 可选:安装客户端组件

CentOS/RHEL 系统安装

# CentOS 7 及以下版本
sudo yum update -y                     # 系统更新
sudo yum install openssh-server -y     # 安装服务端
# CentOS 8/RHEL 8 及以上版本
sudo dnf update -y
sudo dnf install openssh-server -y

Arch Linux 系统安装

sudo pacman -Syu                   # 同步软件库并更新系统
sudo pacman -S openssh             # 安装OpenSSH套件

服务管理与自动启动

主流发行版(Ubuntu/Debian/CentOS/RHEL)

sudo systemctl start sshd          # 立即启动SSH服务
sudo systemctl enable sshd         # 设置开机自动启动
sudo systemctl status sshd         # 验证服务状态

Arch Linux 系统

sudo systemctl start sshd
sudo systemctl enable sshd

服务状态验证:正常运行的SSH服务会显示active (running)状态,若出现异常,可通过journalctl -xe命令查看详细日志信息,或使用sudo tail -f /var/log/auth.log实时监控认证日志(Ubuntu/Debian)。

防火墙配置指南

UFW防火墙(Ubuntu/Debian)

sudo ufw allow 22/tcp              # 开放默认SSH端口
sudo ufw allow 22222/tcp           # 若修改了默认端口需添加对应规则
sudo ufw enable                    # 启用防火墙
sudo ufw status verbose            # 查看生效的防火墙规则

Firewalld防火墙(CentOS/RHEL)

sudo firewall-cmd --permanent --add-service=ssh  # 添加SSH服务例外
sudo firewall-cmd --permanent --add-port=22222/tcp  # 自定义端口需单独添加
sudo firewall-cmd --reload                       # 重载防火墙配置
sudo firewall-cmd --list-all                     # 查看完整防火墙规则

SSH连接测试与验证

在 Linux 系统上安装 OpenSSH 的步骤如下,如何在Linux系统上轻松安装OpenSSH?,想在Linux上快速安装OpenSSH?这个方法只需3步! 第2张
(图示:SSH连接测试流程,图片来源网络,如有侵权请联系删除)

基本连接命令:

ssh username@server_ip

连接参数说明

  • username:替换为服务器上的真实用户账号
  • server_ip:替换为服务器的公网IP或域名
  • 首次连接会提示确认主机密钥指纹,输入yes接受并保存到本地~/.ssh/known_hosts
  • 若修改过SSH端口,需添加-p port_number参数指定端口

连接优化建议

ssh -o ConnectTimeout=5 -o ServerAliveInterval=60 username@server_ip
# -o ConnectTimeout=5 设置连接超时为5秒
# -o ServerAliveInterval=60 每60秒发送保活信号

安全加固配置方案

配置文件修改

sudo nano /etc/ssh/sshd_config  # 推荐使用nano编辑器
# 或
sudo vim /etc/ssh/sshd_config   # 熟悉vim的用户可使用

推荐安全配置

# 基本安全设置
Port 22222                           # 修改默认端口(建议1024-65535之间)
PermitRootLogin no                   # 禁止root直接登录
AllowUsers your_username             # 白名单机制,只允许特定用户
MaxAuthTries 3                       # 限制认证尝试次数
LoginGraceTime 1m                    # 登录宽限时间
# 连接保持设置
ClientAliveInterval 300              # 300秒无活动则检查连接
ClientAliveCountMax 2                # 最多检查2次后断开
# 认证方式优化
PasswordAuthentication no            # 禁用密码认证(需先配置密钥)
PubkeyAuthentication yes             # 启用公钥认证
ChallengeResponseAuthentication no   # 禁用挑战响应认证
# 高级保护
UsePAM yes                           # 启用PAM认证模块
X11Forwarding no                     # 禁用X11转发
AllowTcpForwarding no                # 禁用TCP端口转发

应用配置更改:

sudo systemctl restart sshd          # 重启服务使配置生效

SSH密钥认证配置

在 Linux 系统上安装 OpenSSH 的步骤如下,如何在Linux系统上轻松安装OpenSSH?,想在Linux上快速安装OpenSSH?这个方法只需3步! 第3张
(图示:SSH密钥对生成与配置,图片来源网络,如有侵权请联系删除)

生成密钥对

# 推荐使用更安全的ed25519算法
ssh-keygen -t ed25519 -C "your_comment" -f ~/.ssh/server_ed25519
# 兼容性更好的RSA算法(建议至少4096位)
ssh-keygen -t rsa -b 4096 -C "your_email@example.com" -f ~/.ssh/server_rsa

参数说明

  • -t:指定密钥类型
  • -b:指定密钥位数(RSA算法)
  • -C:添加注释信息
  • -f:指定密钥文件路径和名称

部署公钥到服务器

# 方法一:使用ssh-copy-id(推荐)
ssh-copy-id -i ~/.ssh/server_ed25519.pub username@server_ip -p 22222
# 方法二:手动追加公钥
cat ~/.ssh/server_ed25519.pub | ssh username@server_ip "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

配置密钥文件权限

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
chmod 600 ~/.ssh/server_ed25519

测试密钥登录

ssh -i ~/.ssh/server_ed25519 username@server_ip -p 22222

高级安全防护措施

Fail2Ban 防暴力破解

# Ubuntu/Debian
sudo apt install fail2ban -y  
# CentOS/RHEL
sudo yum install fail2ban -y
# 配置SSH防护
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local

修改配置:

[sshd]
enabled = true
port = 22222
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 1h

重启服务:

sudo systemctl restart fail2ban
sudo systemctl enable fail2ban

创建专用SSH用户组

sudo groupadd sshusers
sudo usermod -aG sshusers your_username

sshd_config中添加:

AllowGroups sshusers

双因素认证(2FA)配置

# 安装Google Authenticator
sudo apt install libpam-google-authenticator -y  # Ubuntu/Debian
sudo yum install google-authenticator -y        # CentOS/RHEL
# 生成认证密钥
google-authenticator

编辑/etc/pam.d/sshd

auth required pam_google_authenticator.so

编辑sshd_config

ChallengeResponseAuthentication yes
AuthenticationMethods publickey,keyboard-interactive

常见问题排查指南

连接被拒绝

  • 服务状态检查

    systemctl status sshd
    ss -tulnp | grep ssh
    netstat -tulnp | grep ssh  # 旧版系统
  • 端口验证

    telnet server_ip 22        # 测试端口连通性
    nmap -p 22 server_ip       # 端口扫描检测

认证失败

  • 日志分析

    sudo tail -f /var/log/auth.log       # Ubuntu/Debian
    sudo tail -f /var/log/secure         # CentOS/RHEL
  • 权限检查

    ls -la ~/.ssh/                      # 验证.ssh目录权限
    restorecon -Rv ~/.ssh/              # SELinux环境修复

连接超时

  • 网络诊断

    ping server_ip
    traceroute server_ip
    mtr server_ip
  • 防火墙验证

    sudo iptables -L -n -v             # 查看iptables规则
    sudo ufw status                     # UFW防火墙状态

高级调试

ssh -vvv username@server_ip -p 22222  # 显示详细调试信息
sudo sshd -T                          # 验证sshd配置有效性

维护与最佳实践

  1. 定期更新

    sudo apt update && sudo apt upgrade openssh-server  # Ubuntu/Debian
    sudo yum update openssh-server                     # CentOS/RHEL
  2. 日志监控

    sudo grep "Failed password" /var/log/auth.log      # 查看失败尝试
    sudo grep "Accepted" /var/log/auth.log             # 查看成功登录
  3. 备份配置

    sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
  4. 会话管理

    who                              # 查看当前登录用户
    pkill -KILL -u username         # 强制注销用户

通过以上完整的安装和配置流程,您已经建立了一个安全可靠的SSH服务环境,建议定期审计系统日志,保持软件更新,并考虑使用证书认证等更高级的安全方案来进一步提升防护等级。


    免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

    目录[+]