如何远程登录linux服务器
- 云服务器
- 2025-08-11
- 10
使用 SSH 协议,执行 ssh 用户名@服务器IP 命令,输入密码或密钥即可远程登录
前期准备条件
| 要素 | 说明 |
|---|---|
| 网络连通性 | 确保本地设备与目标服务器之间可互通(可通过 ping <服务器IP> 测试) |
| 登录凭证 | 有效的用户名 + 密码 / SSH密钥(需提前向管理员申请权限) |
| 开放端口 | 默认SSH端口为 22,若修改需确认新端口号 |
| 客户端工具 | 根据操作系统选择合适的工具(见下文具体方案) |
主流远程登录方案详解
方案1:通过命令行工具(通用性强)
适用场景:快速执行命令、自动化脚本部署
支持平台:Windows/macOS/Linux
操作步骤:
-
打开终端/命令提示符

- Windows:搜索「CMD」或「PowerShell」
- macOS/Linux:直接打开终端
-
输入SSH命令
ssh [用户名]@[服务器IP或域名] [-p 端口号]示例:ssh root@192.168.1.100 -p 22
首次连接会提示确认指纹信息,输入 yes 继续
-
身份验证

- 密码登录:按提示输入密码(输入时无显示)
- 密钥登录:若已配置免密登录,可直接进入系统
- 指定配置文件:~/.ssh/config 可预设多台服务器别名
- 端口转发:ssh -L 本地端口:目标地址:目标端口 user@host 实现代理穿透
- 填写基本信息 → 点击 Open
- 首次连接弹出安全警告 → 点击 Accept
- 根据提示完成身份验证
高级技巧:
方案2:图形化客户端(适合可视化操作)
推荐工具:PuTTY(Windows)、MobaXterm(跨平台)
️ PuTTY配置示例:
参数项 配置值 备注 Host Name (or IP address) 服务器公网IP 支持域名解析 Port number 22 根据实际修改 Connection type SSH 保持默认 Auth 选择私钥文件 (.ppk) 优先于密码验证 操作流程:
方案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
