当前位置:首页 > 云服务器 > 正文

如何远程登录linux服务器

使用 SSH 协议,执行 ssh 用户名@服务器IP 命令,输入密码或密钥即可远程登录

前期准备条件

要素 说明
网络连通性 确保本地设备与目标服务器之间可互通(可通过 ping <服务器IP> 测试)
登录凭证 有效的用户名 + 密码 / SSH密钥(需提前向管理员申请权限)
开放端口 默认SSH端口为 22,若修改需确认新端口号
客户端工具 根据操作系统选择合适的工具(见下文具体方案)


主流远程登录方案详解

方案1:通过命令行工具(通用性强)

适用场景:快速执行命令、自动化脚本部署

支持平台:Windows/macOS/Linux

操作步骤:

  1. 打开终端/命令提示符

    如何远程登录linux服务器 第1张

    • Windows:搜索「CMD」或「PowerShell」
    • macOS/Linux:直接打开终端
  2. 输入SSH命令

    ssh [用户名]@[服务器IP或域名] [-p 端口号]

    示例:ssh root@192.168.1.100 -p 22

    首次连接会提示确认指纹信息,输入 yes 继续

  3. 身份验证

    如何远程登录linux服务器 第2张

    • 密码登录:按提示输入密码(输入时无显示)
    • 密钥登录:若已配置免密登录,可直接进入系统
    • 高级技巧:

      • 指定配置文件:~/.ssh/config 可预设多台服务器别名
      • 端口转发:ssh -L 本地端口:目标地址:目标端口 user@host 实现代理穿透

      方案2:图形化客户端(适合可视化操作)

      推荐工具:PuTTY(Windows)、MobaXterm(跨平台)

      ️ PuTTY配置示例:

      参数项 配置值 备注
      Host Name (or IP address) 服务器公网IP 支持域名解析
      Port number 22 根据实际修改
      Connection type SSH 保持默认
      Auth 选择私钥文件 (.ppk) 优先于密码验证

      操作流程:

      1. 填写基本信息 → 点击 Open
      2. 首次连接弹出安全警告 → 点击 Accept
      3. 根据提示完成身份验证

      方案3:密钥对免密登录(推荐生产环境使用)

      优势:提升安全性、简化操作流程

      ️ 生成密钥对(以Linux为例):

      # 生成RSA密钥对(默认存储路径:~/.ssh/) ssh-keygen -t rsa -b 4096 # 按回车接受默认路径,连续两次回车跳过密码设置

      部署公钥到服务器:

      # 将公钥复制到服务器指定位置(需有写入权限) cat ~/.ssh/id_rsa.pub | ssh user@server "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys" # 修改权限(关键!) chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys

      验证登录:

      ssh -i ~/.ssh/id_rsa user@server


      常见问题排查指南

      现象 可能原因及解决方案
      Connection refused 端口未开放/防火墙拦截 → 检查服务器防火墙规则(iptables/firewalld)
      Permission denied 用户无登录权限 → 检查 /etc/passwd 和 /etc/shadow 文件
      Host key verification failed ️ 中间人攻破风险 → 核对服务器指纹是否匹配历史记录
      Timeout during connection 网络中断/DNS解析失败 → 尝试直连IP地址,检查路由表


      相关问题与解答

      Q1: 为什么无法通过SSH连接到服务器?

      A: 常见原因包括:① 服务器未运行SSH服务(检查 systemctl status sshd);② 防火墙阻止了22端口(执行 ufw allow 22);③ SELinux处于Enforcing模式(临时关闭测试:setenforce 0),建议依次排查网络层→服务层→系统配置。

      Q2: 如何通过跳板机访问内网服务器?

      A: 采用三级联跳方式:ssh -J jumpuser@jumphost user@inner_server。-J 参数指定中继主机,需确保跳板机允许转发连接(修改 /etc/ssh/sshd_config 中的 `AllowTcpForwarding yes

      如何远程登录linux服务器 第3张

0