温馨提示×

Debian Minimal如何配置SSH

小樊
53
2025-10-25 09:53:54
栏目: 智能运维

1. 安装OpenSSH Server
在Debian Minimal系统中,首先需要通过包管理器安装OpenSSH Server(SSH服务端)。执行以下命令更新软件源并安装:

sudo apt update && sudo apt install openssh-server -y

安装完成后,系统会自动部署SSH服务所需的所有文件(如配置文件、二进制程序等)。

2. 启动SSH服务并设置开机自启
安装完成后,需启动SSH服务并配置其在系统启动时自动运行,以确保远程连接的持续性:

sudo systemctl start ssh   # 启动SSH服务
sudo systemctl enable ssh  # 设置开机自启

通过systemctl status ssh命令可检查服务状态,若显示“active (running)”,则表示服务已正常运行。

3. 配置SSH服务(关键安全设置)
SSH的核心配置文件为/etc/ssh/sshd_config,需通过文本编辑器(如nano)修改以提升安全性。建议调整以下参数:

sudo nano /etc/ssh/sshd_config
  • 修改默认端口:将Port 22改为其他端口(如Port 2222),减少针对默认端口的暴力破解攻击;
  • 禁用root远程登录:将PermitRootLogin yes改为PermitRootLogin no,避免root账户直接暴露在远程连接中;
  • 启用密钥认证:确保PubkeyAuthentication yes(默认开启),并关闭密码认证(PasswordAuthentication no),提升登录安全性;
  • 限制允许登录的用户:添加AllowUsers your_username(替换为实际用户名),仅允许指定用户通过SSH登录。

4. 重启SSH服务使配置生效
修改配置文件后,需重启SSH服务以应用更改:

sudo systemctl restart ssh

重启后,可通过ss -tulpn | grep ssh命令验证服务是否在新的端口(如2222)上监听。

5. 配置防火墙允许SSH流量
若系统启用了UFW(Uncomplicated Firewall),需允许SSH流量通过,否则远程连接会被拦截:

sudo ufw allow ssh  # 若使用默认端口22
# 若修改了端口(如2222),则执行:
sudo ufw allow 2222/tcp
sudo ufw enable     # 启用防火墙(若未启用)

通过sudo ufw status命令可查看防火墙规则,确认SSH端口已放行。

6. 配置SSH密钥认证(推荐,增强安全性)
为避免密码泄露风险,建议使用密钥对进行身份验证。操作步骤如下:

  • 在客户端生成密钥对
    在本地机器(如Windows/Mac)上执行ssh-keygen -t ed25519(推荐使用Ed25519算法,安全性更高),按提示保存密钥文件(默认路径为~/.ssh/id_ed25519),并设置可选的密码短语;
  • 上传公钥到服务器
    使用ssh-copy-id命令将公钥(id_ed25519.pub)上传到服务器,例如:
    ssh-copy-id -i ~/.ssh/id_ed25519.pub your_username@server_ip -p 2222
    
    ssh-copy-id不可用,可手动将公钥内容复制到服务器的~/.ssh/authorized_keys文件中(需提前创建.ssh目录并设置权限):
    mkdir -p ~/.ssh
    chmod 700 ~/.ssh
    echo "公钥内容" >> ~/.ssh/authorized_keys
    chmod 600 ~/.ssh/authorized_keys
    
  • 测试密钥认证
    使用ssh -p 2222 your_username@server_ip命令连接服务器,若无需输入密码即可登录,则表示密钥认证配置成功。

注意事项

  • 修改配置文件前,建议备份原文件(sudo cp /etc/ssh/sshd_config{,.bak}),以便出现问题时可快速恢复;
  • 配置过程中,确保至少有一个活跃的SSH会话(如本地终端已连接),避免因配置错误导致无法远程登录;
  • 若需进一步强化安全,可启用Fail2Ban(防止暴力破解)、限制登录IP范围(AllowGroupsAllowUsers)等高级设置。

0