温馨提示×

Debian SSH与其他系统如何互联

小樊
45
2025-12-08 20:38:51
栏目: 编程语言

Debian SSH 与其他系统的互联实践

一、网络与连通性准备

  • 确保两端在同一网络或可路由互通,先测试连通性:在 Debian 上执行 ping 对端 IP;若跨网段,确认网关与路由正确。
  • 规划访问方式:优先使用局域网直连;远程访问需有公网 IP 或在网关做端口转发;云服务器确保安全组放行 TCP 22
  • 防火墙与安全组:在 Debian 上放行 SSH 端口(默认 22,或自定义端口),例如使用 firewalld:sudo firewall-cmd --add-port=22/tcp --permanent && sudo firewall-cmd --reload
  • 虚拟机场景:若 Debian 运行在 VirtualBox,需将网络设为桥接或端口转发,以便宿主机/外部访问虚拟机的 SSH 22 端口。

二、在 Debian 上启用 SSH 服务端

  • 安装与启动:
    • 安装:sudo apt-get update && sudo apt-get install openssh-server
    • 启动与自启:sudo systemctl start ssh && sudo systemctl enable ssh
  • 基本安全项(编辑 /etc/ssh/sshd_config):
    • 禁用 root 远程登录:PermitRootLogin no
    • 使用密钥认证:PubkeyAuthentication yes
    • 修改端口(可选):Port 2222,修改后重启服务:sudo systemctl restart ssh
  • 客户端连通测试:ssh user@debian_ip -p 22(或自定义端口)

三、从常见系统连接 Debian 的 SSH

  • Linux/macOS:
    • 口令登录:ssh user@debian_ip -p 22
    • 指定私钥:ssh -i ~/.ssh/id_rsa user@debian_ip -p 22
  • Windows:
    • 终端/PowerShell:ssh user@debian_ip -p 22
    • 图形工具:PuTTY/Xshell,填写 Debian 的 IP端口 22,选择 SSH 协议连接。

四、免密码登录与常用文件传输

  • 生成密钥对:ssh-keygen -t rsa(默认生成 ~/.ssh/id_rsaid_rsa.pub
  • 部署公钥到 Debian:
    • 推荐:ssh-copy-id user@debian_ip -p 22
    • 或手动追加:cat ~/.ssh/id_rsa.pub | ssh user@debian_ip "cat >> ~/.ssh/authorized_keys"
  • 使用 ssh-agent 管理私钥:
    • eval $(ssh-agent)
    • ssh-add ~/.ssh/id_rsa(输入一次密码后,后续会话免密)
  • 文件传输:
    • 复制文件:scp file user@debian_ip:/path
    • 复制目录:scp -r dir user@debian_ip:/path
  • 长连接保活(客户端配置 ~/.ssh/config):
    • Host *
      ServerAliveInterval 180

五、常见问题与排查

  • 端口与防火墙:确认 sshd 监听端口与防火墙/安全组一致;云上需放行对应端口。
  • 服务状态:检查 sudo systemctl status ssh,异常时查看日志 sudo journalctl -u ssh
  • 连通性:两端先 ping 测试;虚拟机确认网络模式与端口转发规则。
  • 认证失败:核对用户名、端口、密钥权限;确保 ~/.ssh/authorized_keys 权限为 600,父目录 ~/.ssh700
  • 根登录被拒:若需启用 root 远程,需在 /etc/ssh/sshd_config 设置 PermitRootLogin yes 并重启服务(不建议生产环境开启)。

0