博客

教程、指南和产品动态。

开发者

什么是 SSH?如何连接服务器?

3 11月 2026 1 分钟阅读
分享此文章

SSH(Secure Shell)是一种协议,通过加密连接让您使用远程服务器的命令行。要连接服务器,请在自己的电脑上打开终端,输入 ssh username@IP-address。默认情况下,连接使用 TCP 22 端口。

SSH 是管理 VPS 的标准方式。密码和命令都以加密形式传输,因此通过互联网使用是安全的。同一条通道也可以传输文件(scp 和 sftp)。

连接所需的信息

您需要三样东西:服务器的 IP 地址、用户名,以及密码或 SSH 密钥。在 Seturack 面板中打开我的服务器,点击您的服务器。概览标签页中有 IP 地址、用户名和密码几行。在使用一键应用的服务器上,页面靠上的位置还有另一行密码,那一行用于登录应用。使用 SSH 时,请用用户名下面的密码一行。

在 Windows、macOS 和 Linux 上连接

打开终端:Windows 上用 PowerShell,macOS 和 Linux 上用“终端”。输入下面的命令。请用用户名一行中的值替换 root,并用您自己的地址替换示例 IP:

ssh [email protected]

第一次连接时,SSH 会显示服务器的指纹,用来标识您正在连接的机器。输入 yes 并按回车。您的电脑会记住这个指纹,之后每次连接都会进行比对。然后粘贴密码。输入密码时屏幕上不会显示任何内容,这是正常的。

通过指纹,您可以确认连上的机器确实是您的服务器。为了确保无误,请打开面板中的 VNC 控制台,在服务器上运行下面的命令,并把以 SHA256: 开头的值与终端显示的值对照:

ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub

在 Windows 10(1809 版)及更高版本中,OpenSSH 客户端是一项可选功能。如果找不到 ssh 命令,请在“设置”的“可选功能”中添加 OpenSSH 客户端。也可以在以管理员身份打开的 PowerShell 窗口中运行:

Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

如果服务器上的 SSH 监听其他端口,请加上 -p。要使用指定的密钥文件,请加上 -i:

ssh -p 2222 -i ~/.ssh/id_ed25519 [email protected]

连接之后,您输入的每条命令都在服务器上运行。whoami 会告诉您当前是哪个用户,exit 会关闭连接。如果网络中断,该会话中的进程也会随之停止。把耗时较长的任务放在 tmux 里运行,连接断开后它们会继续运行。用 tmux attach 可以回到原来的会话。

传输文件与一个小技巧

同一条连接也可以复制文件。从您的电脑到服务器,以及从服务器回到您的电脑:

scp backup.zip [email protected]:/root/

scp [email protected]:/root/backup.zip .

如果不想每次都输入 IP,可以在您电脑上的 ~/.ssh/config 文件中添加这三行:

Host myserver

HostName 203.0.113.5

User root

之后只需 ssh myserver 即可。

用 SSH 密钥代替密码

使用密钥登录,可以避免密码被人猜中的风险,但前提是同时关闭密码登录:添加密钥并不会自动关闭它。密钥分为两部分:私钥留在您的电脑上,公钥放到服务器上。服务器只放行能证明自己持有私钥的人。请在您自己的电脑上生成这对密钥。在 Windows PowerShell 中命令相同:

ssh-keygen -t ed25519

它会要求设置口令,请不要留空。系统会生成两个文件:id_ed25519 是私钥,千万不要分享给别人。id_ed25519.pub 是公钥。您可以用两种方式把公钥添加到服务器:

  • 在面板中,把 .pub 文件的内容粘贴到管理标签页的 SSH 密钥工具中。密钥会在服务器下次启动时生效。
  • 在 Linux 和 macOS 上,如果您已经可以用密码登录:ssh-copy-id [email protected]

之后,同样的 ssh 命令无需再输入服务器密码即可连接。如果设置了口令,则会要求输入口令。关闭密码登录是另一项 SSH 设置,步骤的顺序很重要,否则可能把自己锁在外面。我们在《新 VPS 的前 10 个安全步骤》的第 4 步中讲到了这一点。

常见错误

提示信息含义操作
Permission denied用户名或密码错误,或者密钥没有登记。请从面板中复制并粘贴用户名和密码的值。如果使用密钥,请确认添加密钥后服务器已经重启过。
Connection refused服务器上的 SSH 服务没有运行,或者端口已关闭。检查服务器是否在运行。在 VNC 控制台中,可以尝试 systemctl start ssh。
Connection timed out您的请求没有到达服务器:IP 错误、服务器已关机,或者防火墙拦截了 22 端口。检查 IP 和服务器状态,查看防火墙规则,并换一个网络试试。
Too many authentication failures您的 SSH 代理提供了多个密钥,服务器达到了尝试次数上限。只提供您想用的那个密钥:ssh -o IdentitiesOnly=yes -i ~/.ssh/id_ed25519 [email protected]
REMOTE HOST IDENTIFICATION HAS CHANGED此 IP 上服务器的指纹发生了变化。如果您重装过服务器,这是正常的。如果这个变化在您意料之中,请用 ssh-keygen -R 203.0.113.5 删除旧的记录。如果不是,请不要连接。

如果连续多次输入错误密码,fail2ban(在一键应用服务器上运行)会暂时封锁您的 IP 地址。在此期间连接可能会超时。请稍等片刻,或换一个网络再试。

完全连不上时

  • VNC 控制台:管理标签页上的这个工具会在浏览器中打开服务器的屏幕。它不依赖 SSH,所以可以在那里检查服务状态。
  • 如果忘记了密码:请使用管理标签页上的重置 root 密码工具。

面板操作步骤的详细说明,请参阅 SSH 帮助文章。

评论0

暂无评论

成为第一个分享想法的人。

参与讨论

请登录或注册后发表评论。

不错过任何文章

通过电子邮件接收我们最新的教程、指南和产品资讯。

您已订阅我们的电子通讯。