如何远程连接公网linux
如何远程连接公网linux详细介绍
远程连接公网 Linux 通常通过 SSH 协议实现,以下是完整操作流程(含常见场景说明):
一、准备工作(Linux 服务器端)
- 确保 SSH 服务运行
bashsudo systemctl enable --now sshd # 启动并设置开机自启sudo systemctl status sshd # 检查状态(active/running 为正常)
- 获取服务器公网 IP
- 云服务器(如 AWS / 阿里云):直接在控制台查看公网 IP
- 家用 / 企业服务器:访问
https://icanhazip.com或路由器后台(需确认是公网 IP,非 192.168.x.x 等内网地址)
- 配置防火墙开放 22 端口
- UFW(Ubuntu 系):bash
sudo ufw allow 22/tcpsudo ufw enable # 开启防火墙(如未启用)
- Firewalld(CentOS 系):bash
sudo firewall-cmd --add-port=22/tcp --permanentsudo firewall-cmd --reload
- UFW(Ubuntu 系):bash
- 路由器端口转发(仅非云服务器场景)
登录路由器管理界面(如192.168.1.1),在 NAT / 端口转发 中配置:- 外部端口:22(任意端口也可,需后续连接时指定)
- 内部 IP:Linux 服务器的内网 IP(如 192.168.1.100)
- 内部端口:22
二、客户端连接(以 Windows/macOS 为例)
场景 1:命令行连接(推荐)
bash
# 标准格式:ssh 用户名@公网IP -p 端口(默认22可省略)ssh user@203.0.113.100 # 默认端口22
ssh user@203.0.113.100 -p 2222 # 若端口转发为2222
首次连接会提示确认指纹,输入 yes 继续,输入服务器密码(或密钥认证,见安全优化)。
场景 2:图形化工具(如 Putty / 终端)
- Putty(Windows):
- 主机名:公网 IP: 端口
- 连接类型:SSH
- 保存会话后直接双击连接
- macOS 终端:
直接使用上述命令行方式,支持密钥拖拽认证(更安全)。
三、安全优化(必做!)
- 禁用密码认证,强制密钥登录
- 服务器端:bash
sudo sed -i 's/PasswordAuthentication yes/PasswordAuthentication no/g' /etc/ssh/sshd_configsudo systemctl restart sshd
- 客户端生成密钥:bash
ssh-keygen -t rsa -b 4096 -C "your_email@example.com" # 按回车留空密码(推荐)ssh-copy-id user@公网IP # 自动上传公钥到服务器
- 服务器端:bash
- 修改默认 SSH 端口(防暴力破解)
- 服务器端修改
/etc/ssh/sshd_config中的Port 22为其他端口(如 2222),重启服务。 - 客户端连接时需指定端口(见上文命令)。
- 服务器端修改
- 云服务器额外配置:
- 阿里云 / 腾讯云等需在控制台开放安全组规则(放行 22 端口或自定义端口)。
四、常见问题
- 连接超时:检查公网 IP 正确性、端口转发、防火墙规则。
- 密码认证失败:确认是否禁用了密码登录(改用密钥)。
- 家用宽带无公网 IP:联系运营商申请公网 IP,或使用 FRP 内网穿透(需额外配置)。
通过以上步骤,即可安全远程连接公网 Linux 服务器。推荐优先使用 密钥认证 + 非默认端口,大幅提升安全性。