SSH 指南
什么是 SSH
SSH(安全外壳)是一种通过命令行安全远程连接和控制服务器的协议。它对所有流量进行加密——不像 Telnet 那样以明文发送数据。SSH 是 VPS 和 Linux 云服务器的默认访问方法。
SSH 基础命令
命令:ssh username@hostname 或 ssh username@IP —— 默认使用 22 端口。如果端口已更改,使用 -p 参数:ssh -p 2222 user@server。首次连接会要求确认指纹——输入 yes 以信任该服务器。
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 仅同步目录中有更改的文件。