想买云服务器但不会连?手把手教你用SSH远程登录Linux实例

很多刚接触云服务器的新手用户,最常卡在“怎么连上去”这一步。其实只要搞清楚几个关键前提,远程连接并不难。下面我们就从实际部署角度,拆解远程登录的技术要点和准备步骤。

远程登录前,你必须确认的3个技术前提

不是买了服务器就能立刻连上,系统和网络配置缺一不可。以下条件必须全部满足,否则连接会失败。

  • SSH服务端必须已安装并运行:绝大多数Linux发行版(如Ubuntu、CentOS)默认已安装OpenSSH服务端,但部分精简镜像可能未启用。可通过控制台VNC或本地终端执行 systemctl status sshdservice ssh status 验证服务状态。
  • 服务器防火墙需放行SSH端口:默认SSH使用22端口,但云平台通常有独立的安全组规则。即使系统防火墙(如iptables、ufw)允许,若云平台安全组未开放22端口(或你自定义的端口),外部仍无法连接。
  • 拥有有效的登录凭证:可以是密码,也可以是SSH密钥对。新购服务器在创建时通常会要求设置登录密码或绑定公钥,务必妥善保存。

两种主流SSH登录方式:密码 vs 密钥

SSH支持两种身份验证机制,各有优劣,适合不同场景。

验证方式 安全性 使用便捷性 适用场景
密码登录 中等(易受暴力破解) 高(直接输入密码即可) 临时测试、低敏感环境
密钥登录 高(基于非对称加密,防中间人攻击) 中(需提前配置密钥对) 生产环境、长期运维、自动化脚本

密码登录:最直接的连接方式

如果你在创建服务器时设置了密码,可直接通过SSH客户端连接。以命令行为例,基本语法如下:

ssh 用户名@服务器公网IP -p 端口号

例如,连接IP为123.123.123.123、端口为22的Ubuntu服务器,命令为:

ssh ubuntu@123.123.123.123 -p 22

首次连接时,系统会提示确认服务器指纹(防止中间人攻击),输入“yes”后按回车,再输入密码即可登录。注意:终端输入密码时不会显示任何字符,这是正常的安全设计。

密钥登录:更安全的免密连接方案

密钥登录需要先在本地生成一对密钥(公钥+私钥),再将公钥部署到服务器。整个过程分三步:

  1. 本地生成密钥对:在Linux或macOS终端执行 ssh-keygen -t rsa -b 4096,Windows用户可使用PuTTYgen或Windows 10/11内置的OpenSSH客户端。生成后,默认私钥保存在 ~/.ssh/id_rsa,公钥在 ~/.ssh/id_rsa.pub
  2. 将公钥上传到服务器:可通过控制台直接粘贴公钥内容到“密钥管理”或“用户数据”字段;若已能密码登录,也可用 ssh-copy-id -i ~/.ssh/id_rsa.pub 用户名@IP 自动部署。
  3. 配置SSH服务端启用密钥认证:确保服务器 /etc/ssh/sshd_config 文件中包含 PubkeyAuthentication yesAuthorizedKeysFile .ssh/authorized_keys,然后重启SSH服务:sudo systemctl restart sshd

配置完成后,再次使用 ssh 用户名@IP 即可免密登录(前提是私钥路径正确且权限为600)。

不同操作系统的SSH客户端推荐

本地操作系统不同,可用的工具也不同。以下是各平台常用且免费的客户端:

  • Windows:可使用系统自带的OpenSSH客户端(Windows 10 1809+、Windows 11),或第三方工具如PuTTY、Xshell(学生版免费)。Xshell界面友好,支持多标签和会话管理,适合新手。
  • macOS / Linux:终端原生支持SSH命令,无需额外安装。可直接使用 sshscpssh-keygen 等命令。
  • VS Code集成:通过“Remote – SSH”插件,可直接在编辑器内连接远程服务器,实现代码编辑与调试一体化,适合开发者。

常见连接失败原因及排查思路

连接不上?别急,按以下顺序排查:

  1. 检查公网IP是否正确:确认使用的是服务器的公网IP,而非内网IP。
  2. 验证安全组规则:登录云平台控制台,检查安全组是否放行了SSH端口(如22或自定义端口)的入站规则,协议为TCP,来源可设为0.0.0.0/0(测试时)或指定IP(生产环境)。
  3. 确认SSH服务状态:通过控制台VNC登录服务器,执行 sudo systemctl status sshd 看服务是否active (running)。
  4. 检查用户名是否正确:不同系统默认用户名不同,如Ubuntu为 ubuntu,CentOS为 centosroot(取决于镜像)。
  5. 测试端口连通性:在本地用 telnet IP 端口nc -vz IP 端口 测试端口是否可达。若不通,基本可判定为网络或安全组问题。

进阶场景:通过SSH隧道实现远程调试

如果你是开发者,可能需要将本地开发环境与远程服务器联动。例如,使用Xdebug调试PHP应用,可通过SSH端口转发实现:

ssh -R 9001:localhost:9001 用户名@服务器IP

该命令将服务器的9001端口反向转发到本地9001端口。当服务器上的PHP请求触发Xdebug时,调试信息会通过SSH隧道传回本地IDE(如VS Code),实现断点调试。这要求服务器 sshd_config 中启用 GatewayPorts yesAllowTcpForwarding yes

常见问题解答(FAQ)

问题 解答
SSH连接时提示“Connection refused”怎么办? 通常表示目标端口未开放或SSH服务未运行。请检查安全组规则和服务器SSH服务状态。
能ping通IP但SSH连不上,为什么? ping使用ICMP协议,SSH使用TCP。可能安全组放行了ICMP但未放行TCP 22端口,需单独检查端口规则。
密钥登录时提示“Permission denied (publickey)”? 可能原因:公钥未正确放入 ~/.ssh/authorized_keys;文件权限错误(目录应为700,文件为600);SSH服务未启用密钥认证。
Windows下如何用命令行生成SSH密钥? 在PowerShell中执行 ssh-keygen -t rsa -b 4096,按提示操作即可。密钥默认保存在 C:Users用户名.ssh
修改了SSH端口后连不上,如何恢复? 可通过云平台提供的VNC控制台登录服务器,检查 /etc/ssh/sshd_config 配置是否正确,并确保新端口已在安全组放行。
厂商 配置 带宽 / 流量 价格 购买地址
腾讯云 4核4G 3M 79元/年 点击查看
腾讯云 2核4G 5M 188元/年 点击查看
腾讯云 4核8G 10M 630元/年 点击查看
腾讯云 4核16G 12M 1024元/年 点击查看
腾讯云 2核4G 6M 528元/3年 点击查看
腾讯云 2核2G 5M 396元/3年(≈176元/年) 点击查看

所有价格仅供参考,请以官方活动页实时价格为准。

未经允许不得转载: 本文基于人工智能技术撰写,整合公开技术资料及厂商官方信息,力求确保内容的时效性与客观性。建议您将文中信息作为决策参考,并以各云厂商官方页面的最新公告为准。云服务商优惠信息实时变动,本文内容仅供参考,最终价格请以官方活动页面公示为准。便宜云服务器优惠推荐 & 建站教程-服务器优惠推荐 » 想买云服务器但不会连?手把手教你用SSH远程登录Linux实例