上一篇
怎样远程登录服务器
- 云服务器
- 2025-08-24
- 5
登录 服务器常用SSH协议(Linux)或远程桌面工具(Windows),输入IP、账号及密码即可连接,也可配置密钥提升安全性。
准备工作
确认服务器信息
- IP地址/域名:需提前获取目标服务器的公网或内网IP(如168.1.100)或绑定的域名。
- 端口号:默认SSH端口为22,若已修改则需使用新端口(例如自定义为2222)。
- 认证方式:明确是否采用密码登录、密钥对(推荐)或两者结合。
本地工具选择
| 操作系统 | 常用客户端工具 | 备注 |
|---|---|---|
| Windows | PuTTY、MobaXterm | 支持图形化界面和会话管理 |
| macOS/Linux | OpenSSH(终端直接输入命令)、Termius | 内置命令行或第三方应用 |
| 跨平台 | Xshell、SecureCRT | 功能丰富的商业软件 |
基于SSH协议的远程连接步骤
方法1:使用密码登录(适合临时访问)
- 打开终端/CMD窗口
在本地计算机启动命令行工具:
- Windows → Win+R键输入cmd回车;
- Mac/Linux → 直接打开“终端”。
- 执行标准命令格式 ssh [用户名]@[服务器IP]:[端口号]
示例:ssh root@192.168.1.100 或 ssh user@example.com -p 2222

- 输入密码完成验证
首次连接时会提示“是否信任该主机指纹”,确认后输入预设的用户密码即可进入系统。
方法2:通过RSA密钥免密登录(推荐生产环境)
- 生成密钥对(仅首次需要)
运行以下命令创建公私钥:
ssh-keygen -t rsa -b 4096
按提示保存默认路径下的id_rsa(私钥)和id_rsa.pub(公钥)。
- 上传公钥至服务器
将本地生成的~/.ssh/id_rsa.pub内容追加到服务器的授权文件末尾: cat >> ~/.ssh/authorized_keys
注意:确保服务器用户的主目录存在.ssh文件夹且权限正确(建议设为700)。
- 测试无密码连接
再次执行ssh user@server_ip时,无需手动输入密码即可自动登录。
高级配置选项
| 参数 | 作用 | 示例写法 |
|---|---|---|
| -i | 指定非默认私钥路径 | ssh -i /path/to/private_key ... |
| -L 本地端口转发 | 将本地某端口映射到远程服务 | -L 8080:localhost:80 |
| -o ConnectTimeout=30 | 设置超时时间为30秒 | -o ConnectTimeout=30 user@host |
| -v | 显示详细调试日志 | ssh -v user@host |
常见问题排查指南
| 现象 | 可能原因及解决方案 |
|---|---|
| “Connection refused” | 防火墙阻止了SSH端口 → 检查ufw/iptables规则 |
| “Permission denied” | 用户无sudo权限或路径错误 → 切换root用户尝试 |
| “Host key mismatch” | ️ 警惕中间人攻破!删除~/.ssh/known_hosts中旧记录后重试 |
| 超时未响应 | 确认网络连通性(ping测试)、重启sshd服务 |
相关问题与解答
Q1: 如果忘记服务器密码怎么办?
A: 可通过VNC临时控制台重置密码(需云服务商支持),或联系机房管理员协助恢复,切勿尝试暴力免费!
Q2: SSH连接不稳定经常断开如何解决?
A: 启用TCP Keepalive机制,在客户端添加参数ServerAliveInterval 60;同时检查网络抖动情况,必要时更换更稳定的
