什么是 SSH?
SSH(Secure Shell)是一种加密的网络传输协议,用于在不安全的网络中安全地执行命令和管理远程服务器。它是连接和管理 Linux/Unix 服务器的标准方式。
连接前的准备工作
获取服务器信息:
- IP 地址/域名: 登录 PIGYun 控制面板,在服务器管理页面找到您要连接的服务器的公网 IP 地址或绑定的域名。
- SSH 端口: 默认为
22。如果您在服务器或 PIGYun 安全组中修改过 SSH 端口,请记录修改后的端口号。
获取登录凭据:
- 用户名: 通常是
root(拥有最高权限的管理员账户)。部分系统镜像或自行创建的用户可能是其他用户名(如ubuntu,debian,admin等)。 - 密码: 您在创建 PIGYun 服务器时设置的 root 密码。如果您使用密钥登录,则需要对应的私钥文件。
- 用户名: 通常是
本地工具准备:
Windows 用户:
- 推荐:
PuTTY(免费, 支持密码和密钥) - 官网下载 - 推荐:
Windows Terminal(Win10/11 自带或 Microsoft Store 安装) +OpenSSH 客户端(通常已内置或可通过“可选功能”添加) - 其他:
MobaXterm,Xshell(免费家庭/学校版)
- 推荐:
- macOS 用户: 系统自带 终端(Terminal) 应用(在“应用程序”->“实用工具”文件夹)。
- Linux 用户: 系统自带 终端(Terminal) 应用(如 GNOME Terminal, Konsole, xterm 等)。
连接方法 (以常用工具为例)
方法一:使用 PuTTY (Windows)
- 下载并启动 PuTTY。
配置会话:
- Host Name (or IP address): 输入您的 PIGYun 服务器公网 IP 或域名。
- Port: 输入 SSH 端口(默认
22)。 - Connection type: 确保选择
SSH。 - (可选) 保存会话: 在
Saved Sessions输入一个名称(如PIGYun-Server-1),点击Save,方便下次快速连接。
首次连接信任主机:
- 点击
Open。 - 首次连接时会弹出
PuTTY Security Alert,询问是否信任该服务器的密钥。点击Accept将密钥存入缓存。
- 点击
登录验证:
密码登录:
- 终端提示
login as:: 输入您的用户名 (通常是root),按回车。 - 提示
Password:: 精确输入您的 root 密码(输入时不会显示任何字符),按回车。
- 终端提示
密钥登录 (推荐更安全):
- 在 PuTTY 主界面左侧导航树中,依次展开
Connection->SSH->Auth。 - 点击
Browse...,选择您本地存储的与服务器公钥配对的 私钥文件(通常是.ppk格式,如果私钥是 OpenSSH 格式.pem或id_rsa,可能需要用PuTTYgen工具转换)。 - 返回
Session页面,点击Open连接。 - 提示
login as:: 输入您的用户名 (通常是root),按回车。如果密钥正确且配置无误,通常无需再输密码即可登录。
- 在 PuTTY 主界面左侧导航树中,依次展开
- 成功登录: 看到类似
[root@your-server ~]#或root@your-server:~$的命令行提示符,即表示登录成功,可以开始执行命令了。
方法二:使用系统终端 (macOS / Linux / Windows 10/11 OpenSSH)
- 打开终端。
使用 SSH 命令连接:
基本语法:
ssh [用户名]@[服务器IP或域名] -p [端口号]示例 (密码登录,默认端口 22):
ssh root@123.123.123.123示例 (密码登录,自定义端口 2222):
ssh root@123.123.123.123 -p 2222示例 (密钥登录,默认端口 22):
ssh -i /本地路径/到/私钥文件.pem root@123.123.123.123重要: 确保私钥文件权限安全(仅用户可读)。在 Linux/macOS 上通常需要:
chmod 600 /本地路径/到/私钥文件.pem
首次连接信任主机:
- 终端会显示服务器的 ECDSA 或 RSA 指纹,并询问
Are you sure you want to continue connecting (yes/no/[fingerprint])?。 - 输入
yes并按回车,将服务器密钥添加到本地的~/.ssh/known_hosts文件中。
- 终端会显示服务器的 ECDSA 或 RSA 指纹,并询问
登录验证:
- 密码登录: 提示
Password:时,精确输入您的 root 密码(输入时不会显示),按回车。 - 密钥登录: 如果命令中指定了正确的私钥且权限正确,通常无需密码即可登录。如果私钥有密码短语 (passphrase),会提示输入该短语。
- 密码登录: 提示
- 成功登录: 看到命令行提示符变为
[root@your-server ~]#或类似形式,即表示登录成功。
连接后注意事项
安全操作:
- 谨慎使用
root:root拥有最高权限,误操作可能导致灾难性后果。日常操作建议创建普通用户并使用sudo提权。 - 立即修改默认密码: 首次登录后,强烈建议立即使用
passwd命令修改 root 密码为一个强密码。 - 启用密钥登录并禁用密码登录(推荐): 这是提高安全性的最佳实践。在服务器上配置好公钥登录后,编辑
/etc/ssh/sshd_config文件,设置PasswordAuthentication no并重启 SSH 服务 (systemctl restart sshd)。(操作前务必确认密钥登录已成功!) - 修改默认 SSH 端口: 在
/etc/ssh/sshd_config中修改Port项(如2222),并同时在 PIGYun 控制台的服务器防火墙/安全组规则中放行新端口,然后重启 SSH 服务。可有效减少自动化扫描攻击。
- 谨慎使用
基础命令:
ls: 列出当前目录内容。cd [目录名]: 切换目录。pwd: 显示当前工作目录路径。mkdir [目录名]: 创建新目录。rm [文件名]: 删除文件 (小心使用rm -rf!)。cp [源文件] [目标位置]: 复制文件/目录。mv [源文件] [目标位置/新名字]: 移动或重命名文件/目录。cat [文件名]: 查看文件内容。nano [文件名]/vi [文件名]/vim [文件名]: 文本编辑器。top/htop: 查看系统进程和资源使用情况。df -h: 查看磁盘空间使用情况。free -h: 查看内存使用情况。systemctl start/stop/restart/status [服务名]: 管理系统服务(如sshd,nginx,mysql)。apt update && apt upgrade(Debian/Ubuntu) /yum update(CentOS/RHEL): 更新系统软件包。exit或logout: 断开 SSH 连接。
常见问题排查
连接超时 (
Connection timed out):- 检查 IP/域名: 确认输入的服务器 IP 地址或域名是否正确。
- 检查网络: 确认本地网络正常,尝试
ping 服务器IP(注意:部分云商默认禁 ping,ping 不通不一定代表网络不通)。 检查防火墙:
- PIGYun 安全组: 登录 PIGYun 控制台,确保服务器关联的安全组规则 允许入方向 (Inbound) 访问您的 SSH 端口(默认 22 或您自定义的端口),来源 (Source) 可以是您的本地公网 IP 或
0.0.0.0/0(允许任何 IP,不安全,仅用于测试)。 - 服务器防火墙: 确认服务器内部的防火墙(如
iptables,firewalld,ufw)是否放行了 SSH 端口。例如使用ufw的系统:sudo ufw allow 22/tcp(或自定义端口)。
- PIGYun 安全组: 登录 PIGYun 控制台,确保服务器关联的安全组规则 允许入方向 (Inbound) 访问您的 SSH 端口(默认 22 或您自定义的端口),来源 (Source) 可以是您的本地公网 IP 或
连接被拒绝 (
Connection refused):- 检查 SSH 端口: 确认命令行或 PuTTY 中输入的端口号是否与服务器实际监听的 SSH 端口一致。
- 检查 SSH 服务状态: 服务器上的 SSH 服务 (
sshd) 可能未运行。尝试在控制台(如 PIGYun 的 VNC 或 Web Console)登录服务器,检查服务状态:systemctl status sshd。如果未运行,启动它:systemctl start sshd并设置开机启动:systemctl enable sshd。
权限被拒绝 (
Permission denied):- 检查用户名/密码: 仔细核对输入的用户名(区分大小写)和密码是否正确。密码输入时无任何显示,确保 Caps Lock 未开启。
检查密钥登录:
- 确认命令行或 PuTTY 配置中指定的私钥路径正确无误。
- 确认私钥文件权限(Linux/macOS:
chmod 600 私钥文件)。 - 确认服务器的
/etc/ssh/sshd_config中PubkeyAuthentication设置为yes。 - 确认公钥 (
id_rsa.pub内容) 已正确添加到服务器相应用户的~/.ssh/authorized_keys文件中,且该文件权限为600(chmod 600 ~/.ssh/authorized_keys),.ssh目录权限为700(chmod 700 ~/.ssh)。
- 检查用户是否被允许登录: 在服务器的
/etc/ssh/sshd_config中,检查AllowUsers或DenyUsers设置是否限制了您的用户登录。
主机密钥验证失败 (
Host key verification failed):- 通常发生在服务器重装系统后,本地保存的旧密钥与新服务器密钥不匹配。
解决方案 (谨慎操作):
- 在客户端(本地机器)上,编辑
~/.ssh/known_hosts文件(Windows OpenSSH 通常在C:\Users\用户名\.ssh\known_hosts),删除包含服务器 IP 或域名的那一行。 - 再次连接时,会提示接受新的主机密钥,输入
yes即可。 - 注意: 确保你连接的是正确的服务器,此操作有潜在的安全风险(中间人攻击),仅在确认服务器密钥确实因重装等原因改变时才进行。
- 在客户端(本地机器)上,编辑
进阶提示
使用 SSH 配置文件: 在本地
~/.ssh/config文件中预定义服务器连接参数(主机名、端口、用户名、私钥路径),简化连接命令。例如:Host pigyun1 HostName 123.123.123.123 Port 2222 User root IdentityFile ~/.ssh/pigyun_server1_key.pem保存后,只需输入
ssh pigyun1即可连接。- 使用 SFTP 传输文件: 大多数 SSH 客户端(如 WinSCP, FileZilla, macOS Finder“连接服务器”
sftp://, Linuxsftp命令)支持基于 SSH 的 SFTP 协议,用于安全地传输文件。连接信息与 SSH 相同。 使用 SCP 命令传输文件: 在终端中使用
scp命令进行文件传输(语法类似cp)。示例(本地->服务器):scp -P 2222 /本地/文件/路径/file.txt root@123.123.123.123:/远程/目标/路径/示例(服务器->本地):
scp -P 2222 root@123.123.123.123:/远程/文件/路径/file.txt /本地/目标/路径/- 保持连接活跃: 编辑本地 SSH 配置文件 (
~/.ssh/config或 PuTTY 连接设置中的Connection->Seconds between keepalives),设置ServerAliveInterval(如 60)和ServerAliveCountMax(如 3),防止长时间空闲导致连接断开。 - 使用终端多路复用器: 如
screen或tmux,允许在单个 SSH 会话中创建多个虚拟终端窗口,并在断开连接后恢复工作状态,非常实用。
重要安全提醒: 保护好您的 root 密码和私钥文件!它们是访问您服务器的钥匙。定期更新密码,使用强密码,并考虑使用密钥登录代替密码登录以显著提升安全性。
如果在遵循本教程后仍遇到问题,请参考 PIGYun 官方文档或联系 PIGYun 客服支持获取帮助(提供具体的错误信息和您已尝试的步骤)。
祝您使用 PIGYun 服务器愉快!