本站包含联盟链接——如果你通过链接注册,我们可能获得佣金,但不会向你额外收费,也不影响评测的中立性。详情

SSH 指南

SSH 指南

什么是 SSH

SSH(安全外壳)是一种通过命令行安全远程连接和控制服务器的协议。它对所有流量进行加密——不像 Telnet 那样以明文发送数据。SSH 是 VPS 和 Linux 云服务器的默认访问方法。

SSH 基础命令

命令:ssh username@hostname 或 ssh username@IP —— 默认使用 22 端口。如果端口已更改,使用 -p 参数:ssh -p 2222 user@server。首次连接会要求确认指纹——输入 yes 以信任该服务器。

对 AsiaGB 感兴趣?

查看官方网站上的最新计划和促销。

访问 AsiaGB →

Windows SSH

Windows 10/11 内置了 SSH 客户端。打开命令提示符或 PowerShell,输入 ssh user@server。或使用免费的 PuTTY,它提供图形界面,可轻松保存会话。开发人员推荐使用 Windows Terminal 和 OpenSSH 客户端。

Mac 和 Linux SSH

Mac 和 Linux 都预装了 SSH 客户端。打开终端输入 ssh user@server 即可。Mac Terminal、iTerm2 或 Linux Gnome Terminal 都内置支持 SSH,无需额外安装。

SSH Linux 命令

连接后,可以使用 Linux 命令:ls(列出文件)、cd(更改目录)、mkdir(创建文件夹)、rm(删除)、cp(复制)、mv(移动)、cat(读取文件)、nano/vim(编辑文件)、chmod(修改权限)、chown(修改所有者)。

SSH 密钥认证

SSH 密钥比密码更安全,因为网络上不会传输密码。生成密钥:ssh-keygen -t ed25519 会产生 ~/.ssh/id_ed25519(私钥)和 ~/.ssh/id_ed25519.pub(公钥)。将公钥复制到服务器:ssh-copy-id user@server。

SSH 安全配置

禁用 root 登录:在 /etc/ssh/sshd_config 中设置 PermitRootLogin no。改用普通用户加 sudo。使用 SSH 密钥而不是密码。禁用密码认证:如果使用密钥,设置 PasswordAuthentication no。安装 Fail2Ban 来阻止多次失败登录尝试的 IP。

SSH 端口

默认的 22 端口经常被自动程序扫描。改用其他端口(例如 2222)可以减少日志噪音。编辑 /etc/ssh/sshd_config,将 Port 22 改为新端口。更改前必须重启 sshd 并在防火墙中打开新端口,然后再关闭当前会话。

SCP、SFTP 和 SSH 文件传输

SCP(安全复制)通过 SSH 传输文件:scp file.txt user@server:/path/ SFTP 是通过 SSH 的 FTP:sftp user@server。FileZilla 支持 SFTP 协议——比常规 FTP 更安全。rsync 仅同步目录中有更改的文件。

常见问题

SSH 和 SFTP 有什么区别?
SSH 是通过命令行连接服务器的协议。SFTP(SSH 文件传输协议)是 SSH 的一个子系统,用于文件传输,与 SSH 一样运行在 22 端口。FileZilla 和 WinSCP 支持 SFTP 协议,可以通过图形界面浏览和传输文件。
通过 SSH 以 root 身份登录危险吗?
非常危险。自动程序不断尝试暴力破解 root 用户。你应该用 PermitRootLogin no 禁用 root 登录,改用普通用户加 sudo。需要 root 权限的操作可以通过 sudo 执行,而无需直接以 root 身份登录。
SSH 密钥对是如何工作的?
SSH 密钥对包含私钥(保存在你的机器上)和公钥(放在服务器上)。登录时,服务器发送挑战,你用私钥回应。如果公钥匹配,服务器就会成功认证你的身份。网络上不会传输任何密码。
如果我忘记了 root 密码怎么办?
大多数 VPS 都有 VNC 控制台或网页控制台,无需 SSH 即可访问。进入控制台并重置密码,或进入恢复模式。DigitalOcean 和 AsiaGB 等云服务商在仪表板中提供控制台,即使 SSH 无法工作也能访问服务器。