Windows 通过 SSH 登录 Linux 服务器:密码与密钥登录
Linux 服务器入门 · 第 04 篇 / 共 18 篇
第一篇已经走过一次登录。本篇把密码、密钥和自定义端口分开讲,方便按自己的接入信息选择写法。
操作前需要上一节的连接清单。以下账号 lin、地址 198.51.100.10 均为示例,必须替换;密码不写进命令。
从本地终端发起连接
在 Windows 打开终端中的 PowerShell。服务器允许密码认证、端口为 22 时执行:
ssh lin@198.51.100.10若端口为 2222:
ssh -p 2222 lin@198.51.100.10-p 后面是端口,@ 前面是服务器账号。此时命令在自己的 Windows 电脑执行,直到登录成功才进入远程环境。
首次连接和密码输入
首次连接可能出现主机真实性确认,显示服务器公钥指纹。与管理员或可信控制台提供的指纹比对,一致后才输入 yes。
如果以前连过,突然提示主机密钥发生变化,先确认服务器是否重建或地址是否变化。不要为了消除提示直接删除记录或关闭核验。
出现密码提示后,输入服务器账号密码,再按回车。输入过程中不显示字符通常是正常的;这不代表键盘失效。若提示的是私钥的 passphrase,则要输入该私钥的解锁口令,两种密码用途不同。
使用密钥的情况
如果管理员给你配置的是密钥认证,使用自己电脑上的私钥文件。例如:
ssh -i "$env:USERPROFILE\.ssh\lab_key" -p 2222 lin@198.51.100.10$env:USERPROFILE 在 PowerShell 中代表 Windows 用户目录。lab_key 是示例私钥名,实际文件路径、账号和端口都以自己的信息为准。私钥留在本地;公钥才是用于服务器授权的那一部分。
不要把私钥内容粘贴进终端当密码,也不需要上传私钥来“让服务器认识它”。认证失败时,核对所用账号、密钥文件和服务器端授权。
登录后先做一次身份检查
以下命令在远程 Shell 执行:
whoami
hostname
pwd第一条确认用户,第二条确认主机,第三条确认当前目录。欢迎横幅和提示符可以自定义,不能只看窗口颜色判断是否登录成功。
| 现象 | 优先核对 |
|---|---|
Connection timed out | 地址、VPN、网络访问规则及端口是否可达 |
Connection refused | 目标端口是否有 SSH 服务监听,或是否被主动拒绝 |
Permission denied | 账号、认证方式、密码或密钥授权 |
Could not resolve hostname | 域名拼写、DNS 和网络 |
这里是检查方向,不代表每个提示只有一个原因。暂时不清楚时,保留完整命令和报错,向管理员提供脱敏后的信息。
退出,回到自己的电脑
exit结束当前远程 Shell 后应回到本地提示符。服务器不会随之关机;普通前台程序可能受断线影响。要运行长任务时,先阅读程序运行篇。SSH 选项和身份核验依据见 OpenSSH 客户端手册。
自己试一次:登录、核对身份、退出,再登录。第二次连接同一台未变化的服务器时,通常不会再次出现首次主机指纹确认。