在 Linux 上安装和配置 OpenSSH 服务器
OpenSSH 是 Linux 系统中最常用的远程登录工具,它提供了一个安全的加密通道,用于在客户端和服务器之间进行通信。本指南将详细介绍如何在主流的 Linux 发行版上安装和配置 OpenSSH 服务器。
1. 检查 OpenSSH 服务器状态
在安装之前,可以先检查系统是否已经安装并运行了 OpenSSH 服务器。
bash
sudo systemctl status sshd如果显示 active (running),则表示 SSH 服务器已在运行。如果未安装或未运行,则需要进行安装。
2. 安装 OpenSSH 服务器
Debian/Ubuntu 系统
对于基于 Debian 或 Ubuntu 的系统,使用 apt 包管理器:
bash
sudo apt update
sudo apt install openssh-server -y安装完成后,sshd 服务通常会自动启动。
CentOS/RHEL/Fedora 系统
对于基于 CentOS、RHEL 或 Fedora 的系统,使用 yum 或 dnf 包管理器:
bash
sudo yum install openssh-server -y
# 或者对于较新的系统:
# sudo dnf install openssh-server -y安装完成后,需要手动启动并设置 sshd 服务开机自启:
bash
sudo systemctl start sshd
sudo systemctl enable sshd3. 配置防火墙
如果你的 Linux 服务器启用了防火墙(如 ufw 或 firewalld),你需要允许 SSH 服务的默认端口(TCP 22)通过。
对于 UFW (Ubuntu/Debian)
bash
sudo ufw allow ssh
# 或者指定端口
# sudo ufw allow 22/tcp
sudo ufw enable # 如果防火墙未启用,则启用它
sudo ufw status对于 Firewalld (CentOS/RHEL/Fedora)
bash
sudo firewall-cmd --permanent --add-service=ssh
# 或者指定端口
# sudo firewall-cmd --permanent --add-port=22/tcp
sudo firewall-cmd --reload
sudo firewall-cmd --list-all4. 验证连接
现在,你可以从客户端机器尝试连接你的 Linux 服务器:
bash
ssh your_username@your_server_ip首次连接时,系统会提示你确认服务器的指纹。输入 yes 后,输入你的用户密码即可登录。
5. 配置 sshd_config 文件 (可选,但推荐)
OpenSSH 服务器的主要配置文件是 /etc/ssh/sshd_config。你可以编辑此文件来修改 SSH 服务器的行为,例如更改端口、禁用密码登录、启用密钥登录等。
备份原始配置文件:
bashsudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak编辑配置文件:
bashsudo nano /etc/ssh/sshd_config # 或者使用 vim # sudo vim /etc/ssh/sshd_config常用配置项:
Port 22:SSH 监听的端口。为了安全,建议修改为非标准端口(如2222)。修改后,请确保防火墙规则也随之更新。PermitRootLogin prohibit-password:禁止root用户通过密码登录。prohibit-password允许root用户通过密钥登录,no则完全禁止root登录。PasswordAuthentication yes:是否允许密码认证。强烈建议在配置好密钥登录后将其设置为no,以提高安全性。PubkeyAuthentication yes:是否允许公钥认证。AuthorizedKeysFile .ssh/authorized_keys:指定用户公钥文件的路径。
保存并退出编辑器。
重启 SSH 服务以使更改生效:
bashsudo systemctl restart sshd
通过以上步骤,你就可以在 Linux 服务器上成功安装和配置 OpenSSH 服务器了。为了进一步提高安全性,建议配置 SSH 密钥免密登录。