
所需信息
- VPS的IP地址、用户名(通常为root或具有sudo权限的用户)、SSH端口(标准端口为22)。
- SSH客户端:
- Windows 10/11:内置于Windows终端/PowerShell/CMD的OpenSSH(推荐)或PuTTY。
- macOS/Linux:终端预装的ssh。
方案A:密码快速连接(Windows/macOS/Linux)
命令(请将user和1.2.3.4替换为实际值):
ssh user@1.2.3.4 -p 22
首次登录时,请确认主机密钥(是),然后输入您的密码。
客户端和身份验证的基本选项在 OpenSSH 手册中有详细说明。

选项 B:密码保护(推荐)
步骤 1. 在您的电脑上生成密钥对
在 Windows 10/11 中,打开 PowerShell 并执行以下命令:
ssh-keygen -t ed25519 -C “my-comment”
# if ed25519 is not available:
# ssh-keygen -t rsa -b 4096 -C “my-comment”
密钥存储于 C:\Users\<用户名>\.ssh\(或 macOS/Linux 中的 ~/.ssh):私有密钥 – 无扩展名(需严格保密),公有密钥 – .pub(需复制至服务器)。

有关在 Windows 中生成密钥的详细信息:Microsoft/phoenixNAP/HowToGeek。
步骤 2. 将公钥下载到服务器
方法 2.1:自动(如果支持密码访问):
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@1.2.3.4
该工具将密钥添加到~/.ssh/authorized_keys并设置权限。
方法2.2:手动操作(通过密码连接):
ssh user@1.2.3.4
mkdir -p ~/.ssh && chmod 700 ~/.ssh
nano ~/.ssh/authorized_keys
# paste the contents of your .pub here, then save
chmod 600 ~/.ssh/authorized_keys
请注意:仅 .pub 文件会被发送到服务器;我们绝不会复制私钥。权限设置:.ssh = 700,authorized_keys = 600(否则将收到Permission denied (publickey)错误提示)。

步骤3. 连接至钥匙。
ssh -i ~/.ssh/id_ed25519 user@1.2.3.4
为避免每次都需重新输入参数,请将配置文件添加至 ~/.ssh/config:
Host myvps
HostName 1.2.3.4
User user
Port 22
IdentityFile ~/.ssh/id_ed25519
现在只需使用 ssh myvps。关于 ssh_config 的文档(所有重要参数:主机、用户、端口、IdentityFile)。
选项C:若图形界面更便捷,可通过PuTTY(Windows)操作
- 下载并运行PuTTY → 切换至“Session”标签页 → 填写“Host Name”(IP/域名)、“Port=22”、“Connection type=SSH” → 进入“Saved Sessions” → 点击“Save” → 选择“Open”。

2. 若使用密钥连接:PuTTYgen → 下载私钥或创建新密钥 → 以.ppk格式保存,随后在PuTTY中:连接 → SSH → 身份验证 → 用于身份验证的私钥文件:选择.ppk文件。
3. (可选)连接会话并保存配置文件,避免每次输入参数。
基本验证与配置
从您的电脑检查22端口可用性:
# Linux/macOS:
nc -vz 1.2.3.4 22
# Windows (PowerShell):
Test-NetConnection 1.2.3.4 -Port 22
访问被拒绝(公钥) → 请检查:
- 公钥文件 (.pub) 是否已传输至服务器,
- ~/.ssh(权限700)和 authorized_keys(权限600)的权限设置,
- 以及本地IdentityFile是否匹配。
增强服务器安全性(配置密钥后)
打开 /etc/ssh/sshd_config 并检查(或添加)以下行,然后重启 sshd:
# prohibit direct root login (recommended)
PermitRootLogin no
# prohibit passwords, leave only keys
PasswordAuthentication no
PubkeyAuthentication yes
# (optional) non-standard port:
# Port 2222
sudo systemctl restart sshd
兼容的重要指令和算法在手册页 sshd_config/ssh_config 中有详细说明。
文件复制
SCP:
scp -P 22 file.zip user@1.2.3.4:/home/user/
SFTP(交互式):
sftp -P 22 user@1.2.3.4
(这两种方法都包含在OpenSSH客户端软件包中)。