Ubuntu SSH 服务器安装与配置:一步一步教你
Ubuntu SSH 服务器安装与配置:一步一步教你
SSH(Secure Shell)是一种加密网络协议,用于在不安全的网络上安全地访问和管理远程计算机。在 Ubuntu 系统上搭建 SSH 服务器,可以让你从任何地方安全地连接到你的服务器,执行命令、传输文件等操作。本文将一步一步详细介绍如何在 Ubuntu 系统上安装和配置 SSH 服务器,即使你是新手也能轻松上手。
一、安装 OpenSSH Server
- 更新系统软件包列表:
打开终端,执行以下命令:
bash
sudo apt update
这将确保你的系统拥有最新的软件包列表,以便安装最新版本的 OpenSSH Server。
- 安装 OpenSSH Server:
执行以下命令安装 OpenSSH Server:
bash
sudo apt install openssh-server
系统会提示你确认安装,输入 y
并按下回车键即可。安装过程可能需要一些时间,取决于你的网络速度。
- 验证安装:
安装完成后,OpenSSH Server 会自动启动。你可以通过以下命令验证 SSH 服务是否正在运行:
bash
sudo systemctl status ssh
如果 SSH 服务正在运行,你会看到类似以下输出,其中 active (running)
表示服务正在运行:
● ssh.service - OpenSSH server daemon
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2023-10-27 10:00:00 UTC; 5min ago
...
二、配置 SSH Server(可选)
OpenSSH Server 的默认配置已经足够安全,但在某些情况下,你可能需要根据自己的需求进行一些调整。SSH 的配置文件位于 /etc/ssh/sshd_config
。
- 备份配置文件:
在修改配置文件之前,建议先备份一份,以便在出现问题时可以恢复:
bash
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
- 修改配置文件:
使用你喜欢的文本编辑器打开配置文件:
bash
sudo nano /etc/ssh/sshd_config
以下是一些常用的配置选项:
-
Port
: 修改 SSH 端口号。默认端口是 22,为了提高安全性,可以将其更改为其他端口。例如,将其更改为 2222:Port 2222
-
PermitRootLogin
: 是否允许 root 用户直接登录。为了安全起见,建议禁用 root 用户直接登录,并使用普通用户登录后再使用sudo
命令执行管理员操作。将其设置为no
:PermitRootLogin no
-
PasswordAuthentication
: 是否允许密码认证。为了提高安全性,可以禁用密码认证,并使用密钥认证。将其设置为no
(需要先配置密钥认证,详见下文):PasswordAuthentication no
-
AllowUsers
或DenyUsers
: 指定允许或禁止登录的用户。例如,只允许用户user1
和user2
登录:AllowUsers user1 user2
-
ListenAddress
: 指定 SSH 服务器监听的 IP 地址。如果你的服务器有多个 IP 地址,你可以指定 SSH 服务器只监听特定 IP 地址。例如,只监听192.168.1.100
:ListenAddress 192.168.1.100
-
重启 SSH 服务:
修改配置文件后,需要重启 SSH 服务才能使更改生效:
bash
sudo systemctl restart ssh
三、配置密钥认证(推荐)
密钥认证比密码认证更加安全。以下是配置密钥认证的步骤:
- 在客户端生成密钥对:
在你的本地计算机(用于连接 SSH 服务器的计算机)上打开终端,执行以下命令生成密钥对:
bash
ssh-keygen -t rsa
系统会提示你输入保存密钥的文件名和密码。可以直接按回车键使用默认文件名和不设置密码。
- 将公钥复制到服务器:
将生成的公钥(通常是 ~/.ssh/id_rsa.pub
)复制到服务器的 ~/.ssh/authorized_keys
文件中。你可以使用 ssh-copy-id
命令:
bash
ssh-copy-id username@server_ip_address
其中 username
是你的服务器用户名,server_ip_address
是你的服务器 IP 地址。如果修改了 SSH 端口,需要使用 -p
参数指定端口号:
bash
ssh-copy-id -p 2222 username@server_ip_address
如果没有 ssh-copy-id
命令,可以使用以下命令手动复制:
bash
cat ~/.ssh/id_rsa.pub | ssh username@server_ip_address "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
- 测试密钥认证:
尝试使用 SSH 连接服务器:
bash
ssh username@server_ip_address
如果配置正确,你应该可以直接登录服务器,而无需输入密码。如果修改了 SSH 端口,需要使用 -p
参数指定端口号。
四、防火墙配置
如果你的服务器启用了防火墙,需要允许 SSH 端口的流量通过。
UFW 防火墙:
bash
sudo ufw allow ssh # 允许默认端口 22
sudo ufw allow 2222/tcp # 允许自定义端口 2222
sudo ufw enable # 启用防火墙
sudo ufw status # 查看防火墙状态
五、其他安全建议
-
定期更新系统: 及时更新系统软件包,包括 OpenSSH Server,以修复已知的安全漏洞。
-
使用强密码: 如果仍然使用密码认证,请确保使用强密码。
-
限制 SSH 访问: 使用
AllowUsers
或DenyUsers
选项限制可以访问 SSH 服务器的用户。 -
监控 SSH 登录: 定期检查 SSH 登录日志,以便及时发现可疑活动。
通过以上步骤,你已经成功在 Ubuntu 系统上安装和配置了 SSH 服务器。现在,你可以从任何地方安全地访问和管理你的服务器了. 记住,安全是一个持续的过程,你需要定期检查和更新你的 SSH 配置,以确保服务器的安全。 这篇文章详细介绍了 Ubuntu SSH 服务器的安装和配置,希望能帮助你更好地理解和使用 SSH。