温馨提示×

Debian SSH远程登录设置步骤

小樊
33
2025-12-12 20:00:11
栏目: 智能运维

Debian SSH远程登录设置步骤

一 安装与启动

  • 更新索引并安装 OpenSSH 服务器:
    • sudo apt update
    • sudo apt install openssh-server
  • 启动服务并设置开机自启(Debian 上服务名为 ssh):
    • sudo systemctl start ssh
    • sudo systemctl enable ssh
  • 验证服务状态(应看到 active/running):
    • sudo systemctl status ssh
  • 获取服务器地址用于连接:
    • ip addr 或 hostname -I 查看本机 IP

二 防火墙放行

  • 使用 UFW(Debian 常见):
    • 放行默认端口:sudo ufw allow ssh
    • 如自定义端口(例如 2222):sudo ufw allow 2222/tcp
    • 启用防火墙:sudo ufw enable
  • 使用 iptables:
    • 放行端口:sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
  • 云服务器请在控制台安全组同时放行对应 TCP 端口。

三 基本配置与连接测试

  • 编辑服务端配置(建议先备份):
    • sudo cp /etc/ssh/sshd_config{,.bak}
    • sudo nano /etc/ssh/sshd_config
  • 常用配置项(按需调整):
    • Port 22(可改为如 2222 的高位端口)
    • PermitRootLogin no(推荐禁止 root 远程登录)
    • PasswordAuthentication yes(在密钥未部署前保持可用)
    • PubkeyAuthentication yes
    • AllowUsers your_username(仅允许指定用户)
  • 使配置生效:
    • sudo systemctl restart ssh
  • 客户端连接测试:
    • 默认端口:ssh 用户名@服务器IP
    • 自定义端口:ssh -p 2222 用户名@服务器IP

四 密钥登录与权限

  • 在客户端生成密钥对(推荐 Ed25519,也可用 RSA 4096):
    • ssh-keygen -t ed25519 -C “you@example.com”
  • 将公钥上传到服务器(如已改端口,使用 -p 指定):
    • ssh-copy-id -i ~/.ssh/id_ed25519.pub 用户名@服务器IP -p 2222
  • 服务器端确保目录与文件权限正确(登录目标用户执行):
    • mkdir -p ~/.ssh
    • chmod 700 ~/.ssh
    • touch ~/.ssh/authorized_keys
    • chmod 600 ~/.ssh/authorized_keys
  • 确认公钥已写入:cat ~/.ssh/authorized_keys
  • 验证登录(应无需输入密码):ssh 用户名@服务器IP -p 2222
  • 可选:在客户端配置 ~/.ssh/config 简化连接(示例):
    • Host myserver
    • HostName 服务器IP
    • Port 2222
    • User 用户名
    • IdentityFile ~/.ssh/id_ed25519

五 安全加固与常见问题

  • 安全加固建议:
    • 禁用 root 远程登录:PermitRootLogin no
    • 禁用密码登录(在密钥可用后):PasswordAuthentication no
    • 更改默认端口(如 2222),并同步更新防火墙/安全组
    • 限制可登录用户:AllowUsers user1 user2
    • 配置保活避免断连:ClientAliveInterval 300;ClientAliveCountMax 2
    • 安装并启用 Fail2Ban 防暴力破解
  • 常见问题排查:
    • 服务未运行:sudo systemctl status ssh;查看日志:sudo journalctl -u ssh
    • 端口不通:检查云安全组/本机防火墙/路由器端口转发
    • 权限错误:确保 ~/.ssh 700、authorized_keys 600
    • 配置错误导致无法连接:保持一个已连接的终端,修改后先验证再断开;必要时用控制台恢复
    • 认证方式不对:查看日志 /var/log/auth.log,确认使用公钥而非密码

0