连接前的准备
SSH 是在自己的电脑与服务器之间加密传输命令的方式。Linux VPS 创建时 SSH 服务器就已开启,默认端口为22。连接只需要三项信息。
- 服务器的 IPv4 地址:显示在服务器页面的概览中。
- 用户名:一开始使用 root。
- root 密码:在服务器页面的 root 密码栏点击“查看”即可看到。设置后显示7天,请保存到密码管理器中。
服务器状态变为运行中后再连接。如果服务器正在创建或重装,请稍等安装完成。请把下面命令中的 YOUR_SERVER_IP 换成自己服务器的 IPv4 地址后输入。
方法1. 用 PowerShell 自带的 ssh 命令连接
Windows 10 1809 版本以后和 Windows 11 默认自带 OpenSSH 客户端。无需另外安装,在 PowerShell 或 Windows 终端中就能使用与 Mac、Linux 完全相同的 ssh 命令。
第1步. 打开 PowerShell
在开始菜单中搜索 PowerShell 或终端并打开。用下面的命令确认 ssh 是否就绪。显示一行 OpenSSH 版本号就说明准备好了。
ssh -V如果没有显示版本号,而是提示找不到命令,请在设置的“可选功能”中添加 OpenSSH 客户端。Windows 11 在“设置 > 系统 > 可选功能”,Windows 10 在“设置 > 应用 > 可选功能”。也可以在管理员权限的 PowerShell 中用下面一行命令添加。
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0第2步. 连接服务器
ssh root@YOUR_SERVER_IP首次连接时,会出现询问是否保存服务器指纹的提示。输入 yes 并按 Enter,指纹会保存到电脑的 known_hosts 文件中,之后不再询问。接着出现 password 输入栏时,粘贴从服务器页面复制的 root 密码。
在 Windows 终端和 PowerShell 窗口中,用鼠标右键或 Ctrl+Shift+V 粘贴。输入密码时屏幕上不显示是正常的,只需粘贴一次并按 Enter。提示符变成 root@服务器名:~# 的样子,就说明连接成功了。
第3步. 执行首条命令
连接后最好先把系统更新到最新。Ubuntu 和 Debian 执行 apt update && apt upgrade -y,AlmaLinux 和 Rocky Linux 执行 dnf upgrade -y。创建普通用户和更新的步骤详见首次登录指南。完成后用 exit 结束连接。
在 PowerShell 中用 SSH 密钥免密码连接
使用 SSH 密钥,无需每次粘贴密码,面对猜测密码的尝试也更加稳固。在 Windows 上同样用 ssh-keygen 命令生成密钥。
ssh-keygen -t ed25519询问保存位置时按 Enter 使用默认值,建议设置密钥密码(passphrase)。两个文件会生成在 C:\Users\用户名\.ssh 目录中。id_ed25519 是私钥,只留在自己的电脑上;id_ed25519.pub 是放到服务器上的公钥。公钥内容用下面的命令查看并复制。
Get-Content $env:USERPROFILE\.ssh\id_ed25519.pub如果是新服务器,把公钥粘贴到账户的 SSH 密钥菜单,创建服务器时选择该密钥,从一开始就能用密钥连接。步骤见 SSH 密钥指南。已在使用的服务器,用下面一行命令添加公钥。此时只需输入一次 root 密码。
type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh root@YOUR_SERVER_IP "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"服务器较多时,把连接信息按名称保存会很方便。用记事本创建 C:\Users\用户名\.ssh\config 文件,按下面的格式写入,就能用 ssh myvps 一个词连接。
Host myvps
HostName YOUR_SERVER_IP
User root
IdentityFile ~/.ssh/id_ed25519
ServerAliveInterval 30ServerAliveInterval 30 每30秒发送一次信号,即使暂时离开,连接也能长时间保持。
方法2. 用 PuTTY 连接
PuTTY 是 Windows 上久经使用的免费 SSH 程序。如果喜欢按名称保存连接信息、双击打开的方式,PuTTY 很合适。从官方网站(putty.org)下载64位安装包(MSI)安装,PuTTY 和生成密钥的 PuTTYgen 会一并装好。
第1步. 输入并保存连接信息
- 打开 PuTTY 会出现 Session 界面。
- 在 Host Name 填入服务器 IPv4 地址,Port 填入22,Connection type 保持 SSH 不变。
- 在左侧 Connection > Data 的 Auto-login username 中填入 root。
- 在 Connection 的 Seconds between keepalives 中填入30,连接能长时间保持。
- 回到 Session 界面,在 Saved Sessions 中填入名称(例如:myvps)并点击 Save。
第2步. 连接
选择保存的名称并点击 Open。首次会出现确认服务器指纹的窗口,点击 Accept 即保存指纹。出现 password 栏时,用鼠标右键粘贴 root 密码并按 Enter。在 PuTTY 中,右键即粘贴,拖选文字即复制。
第3步. 用 PuTTYgen 使用 SSH 密钥
打开 PuTTYgen,在 Key 类型中选择 EdDSA(Ed25519)后点击 Generate,在空白处移动鼠标直到进度条填满。设定 Key passphrase,再用 Save private key 把私钥保存为 .ppk 文件。
窗口上方 Public key for pasting into OpenSSH authorized_keys file 栏中显示的一行就是公钥。把这一行登记到账户的 SSH 密钥菜单,或粘贴到已在用服务器的 ~/.ssh/authorized_keys 文件末尾。然后在 PuTTY 的 Connection > SSH > Auth > Credentials 中,为 Private key file for authentication 选择 .ppk 文件,回到 Session 界面再次点击 Save,之后即可免密码连接。
想在 PuTTY 中也使用 PowerShell 生成的 OpenSSH 密钥,用 PuTTYgen 的 Conversions > Import key 导入 id_ed25519 并保存为 .ppk 即可。一个密钥两个程序共用。
在 Windows 与服务器之间传输文件
PowerShell 中除了 ssh 还自带 scp 命令。把电脑上的文件上传到服务器,或把服务器上的文件下载到电脑时使用。
scp .\site.zip root@YOUR_SERVER_IP:/root/
scp root@YOUR_SERVER_IP:/root/backup.tar.gz .\传输整个文件夹时加上 scp -r。喜欢像资源管理器那样拖放的话,在 WinSCP 等 SFTP 程序中填入相同的地址、端口22和用户 root 即可。WinSCP 可以直接导入 PuTTY 中保存的会话和 .ppk 密钥。
无法连接时的排查步骤
大多是以下四种情况之一,按顺序检查很快就能重新连上。
- Connection timed out:先确认服务器状态是否为运行中、IP 地址是否正确。如果开启了防火墙,必须放行 SSH(22端口)。公司或学校的网络有时会封锁22端口,可以换用手机热点等其他网络试一次。
- Permission denied:重新复制密码,只粘贴一次。也检查一下前后是否一并复制了空格。超过7天看不到密码时,在服务器页面用“生成新的 root 密码”获取新密码。
- REMOTE HOST IDENTIFICATION HAS CHANGED:重装服务器后服务器指纹会重新生成,因此出现该提示。用
ssh-keygen -R YOUR_SERVER_IP删除保存的旧指纹后重新连接即可。 - Connection refused:服务器内的 SSH 服务停止了,或修改了端口。如果改了端口,用
ssh -p 端口号 root@YOUR_SERVER_IP连接。
重新生成密码和重装后的连接步骤,整理在重装与 root 密码指南中。连接成功后,请按基础防火墙指南只开放要用的端口。
接下来最好做的事
能用 SSH 密钥连接后,关闭密码登录可以让服务器更加稳固。先确认密钥连接正常,再把服务器上 /etc/ssh/sshd_config 文件中的 PasswordAuthentication 改为 no,并重启 SSH 服务。Ubuntu 和 Debian 用 systemctl restart ssh,AlmaLinux 用 systemctl restart sshd。
如果打算部署网站或应用,请接着阅读 Docker 安装指南或 WordPress 安装指南。需要原样使用 Windows 桌面的工作,通过远程桌面连接的 Windows VPS 更合适。
