跳到主要内容

SSH远程连接Linux服务器入门攻略

2026年10月16日

SSH 远程连接是管理云服务器与 NAS 设备的统一入口,租过一台云主机的用户都需要它。Windows 10 1809 及以后的版本自带 OpenSSH 客户端,不需要再安装 Xshell、Putty 这类第三方软件,从系统设置里确认可用后,一条命令就能连上远端。

先确认客户端在不在

按 Win 键输入可选功能,或走设置、应用、可选功能这条路径,在已安装功能列表里找到 OpenSSH 客户端,列表里没有就点顶部的添加功能按钮安装。验证更直接的办法是打开 PowerShell,输入 ssh 回车——已安装时会打印用法帮助,输入 ssh -V 则显示版本号。两步都通了,客户端就绪。

第一次连接的完整流程

连接命令的格式是 ssh 用户名@服务器地址,端口非默认时加 -p 参数,例如 ssh root@192.168.1.100 或 ssh ubuntu@example.com -p 2222。第一次连接某台服务器,终端会提示指纹信息并询问是否继续连接(fingerprint 提示),确认服务器地址无误后输入 yes,这份指纹随后记录在本机的 known_hosts 文件里,下次连接不再询问,这个机制的目的是防中间人劫持。

之后输入密码即可登录,注意 Linux 输入密码时屏幕不显示任何字符,不是键盘坏了,敲完回车就行。登录成功后命令提示符变成服务器的样式,执行 exit 或按 Ctrl+D 断开返回本机。

密钥登录:一次配置告别密码

密码登录有两个痛点:每次都要输,以及弱密码会被扫描爆破。密钥方案一次配置长期免密,安全性也高一个量级。生成密钥对用 ssh-keygen -t ed25519,-t 指定算法为 ed25519,这是目前推荐的选择,也可以用传统的 ssh-keygen -t rsa -b 4096。生成的私钥保存在本机 C:\Users\用户名\.ssh\id_ed25519,公钥是同目录的 .pub 文件,私钥绝不外传。

公钥要放到服务器上才算完成登记。Windows 没有 ssh-copy-id 命令,用一条管道替代:type %USERPROFILE%\.ssh\id_ed25519.pub | ssh root@服务器IP “cat >> ~/.ssh/authorized_keys”,输入一次密码后公钥写入完成,此后 ssh root@服务器IP 直接登录不再要密码。

  • ssh-keygen -t ed25519 生成本机密钥对;
  • 公钥追加到服务器的 ~/.ssh/authorized_keys;
  • 私钥留在本机,任何情况下不发送给他人。

想彻底关掉密码通道,编辑服务器上的 /etc/ssh/sshd_config,把 PasswordAuthentication 的值改为 no,保存后执行 systemctl restart sshd 重启服务。改这一步之前务必保留一个已连接的 SSH 会话别关,新开窗口验证密钥登录成功,再动配置——配置写错把密码和密钥同时关在门外的教训,每年都有人踩。

使用方法

  • Windows 设置中确认 OpenSSH 客户端已安装(设置、应用、可选功能)。
  • PowerShell 输入 ssh -V 验证版本输出正常。
  • ssh-keygen -t ed25519 生成密钥对,一路回车采用默认路径。
  • type 命令把公钥内容管道传给服务器写入 authorized_keys。
  • 重新执行 ssh 用户名@服务器IP,确认免密登录生效。
  • 在保留旧会话的前提下修改 sshd_config 关闭密码登录,重启 sshd 后新窗口验证。
  • 日常断开用 exit,不直接关闭窗口让远端任务意外中断。

密钥最好做一个备份,U 盘存一份私钥与配置说明,电脑换新或重装时几分钟恢复。本站口袋网的服务器运维栏目也有相关的 SSH 进阶内容可以搭配阅读。

连不上时的排查清单

Connection refused:目标端口上没有服务在听,先确认端口写对没有,云服务器还要到控制台的安全组里放行 22 端口;Permission denied (publickey):公钥没写入成功或服务器端密钥权限不对,检查服务器上 ~/.ssh 目录权限 700、authorized_keys 权限 600;连接超时:ping 不通多为防火墙或安全组拦截。还有一种 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED,多半是服务器重装过系统导致指纹变化,按提示删除本机 known_hosts 里对应的旧记录重新连接即可,但无法确认服务器近期是否重装时,要先通过控制台核实,排除被顶替的风险。