Ubuntu+Cpolar配置Ubuntu服务器

在 Ubuntu 上使用 SSHcpolar 配置远程访问,通常分为三个核心步骤:先在 Ubuntu 上安装并启用 SSH 服务再安装 cpolar 并创建隧道将本地 22 端口映射到公网,最后在客户端进行公网 SSH 连接。下面是完整的详细操作指南。


🔧 一、Ubuntu 服务端:安装与启用 SSH

SSH 是进行远程登录的基础服务。默认情况下,Ubuntu 桌面版可能未预装 SSH 服务,需要手动安装。

  1. 更新软件包列表

    sudo apt update
    
  2. 安装 OpenSSH 服务端

    sudo apt install openssh-server -y
    

    安装完成后,SSH 服务通常会自动启动,其配置文件位于 /etc/ssh/sshd_config

  3. 设置 SSH 开机自启并检查状态

    # 启用并立即启动 SSH 服务
    sudo systemctl enable --now ssh
    
    # 验证 SSH 是否正常运行(应显示 active (running))
    sudo systemctl status ssh
    
  4. 配置防火墙放行 SSH 端口
    如果启用了 ufw 防火墙,需要允许 SSH(默认 22 端口):

    sudo ufw allow ssh
    sudo ufw enable   # 若防火墙未启用,可省略
    
  5. 本地测试 SSH 连接
    在同一局域网内,先用另一台设备测试是否能正常连接:

    # 找到 Ubuntu 的内网 IP
    ip addr show | grep inet
    
    # 在客户端执行连接测试
    ssh 你的Ubuntu用户名@内网IP地址
    

⚠️ 注意:此时只能在同一局域网内访问,离开本地网络即失效。下一步利用 cpolar 解决公网访问问题。


🌐 二、Ubuntu 服务端:安装 cpolar 并创建 SSH 隧道

cpolar 是一款内网穿透工具,能将本地 SSH 端口(22)映射到一个公网地址,实现外网访问。

1. 注册 cpolar 并获取 Token

  • 访问 cpolar 官网 注册账号。
  • 登录后进入「验证」或「Token」页面,复制你的认证 Token(一串形如 xxxxxxxxxxxx 的字符串)。

2. 在 Ubuntu 上安装 cpolar

打开终端,执行以下命令(使用官方一键安装脚本):

# 国内用户推荐使用此命令
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash

# 若在国外,可使用短链接
curl -sL https://git.io/cpolar | sudo bash

安装完成后,验证版本以确认安装成功:

cpolar version

3. 配置 Token 认证并启动服务

# 替换为你在 cpolar 后台获取的真实 Token
cpolar authtoken 你的真实Token

# 将 cpolar 添加为系统服务并设置为开机自启
sudo systemctl enable cpolar

# 启动 cpolar 服务
sudo systemctl start cpolar

# 查看服务状态,确保为 active (running)
sudo systemctl status cpolar

4. 登录 cpolar Web UI 并创建 SSH 隧道

  1. 在 Ubuntu 浏览器中访问本地管理界面:http://127.0.0.1:9200,使用 cpolar 账号登录。
  2. 进入「隧道管理」→「创建隧道」,按以下参数填写:
    • 隧道名称:自定义,如 ubuntu-ssh
    • 协议:选择 tcp
    • 本地地址:填写 22(SSH 默认端口)
    • 域名类型:免费用户选择「随机域名」
    • 地区:选择 China VIP(以获得更好连接速度)
  3. 点击「创建」。
  4. 创建成功后,进入「状态」→「在线隧道列表」,找到刚创建的隧道,复制其公网地址,格式如:5.tcp.cpolar.cn:10971

💡 提示:cpolar 安装后可能已默认生成一条名为 ssh 的 TCP 隧道。若有,可直接在「在线隧道列表」中查看并使用。


💻 三、客户端:公网远程 SSH 连接 Ubuntu

在任意能上网的设备(Windows、macOS、Linux、手机等)上打开终端,使用以下格式连接:

ssh -p 公网端口号 你的Ubuntu用户名@公网地址

命令拆解

部分 示例值 说明
公网地址 5.tcp.cpolar.cn cpolar 提供的域名(去掉 tcp:// 前缀)
公网端口号 10971 地址中冒号 : 后面的数字
Ubuntu 用户名 ubuntu(需自行确认) 你的 Ubuntu 系统登录用户名

完整示例

ssh -p 10971 ubuntu@5.tcp.cpolar.cn

首次连接时,系统会提示验证主机指纹,输入 yes 并回车,然后输入 Ubuntu 用户的密码即可成功登录。


🛡️ 四、进阶安全配置(强烈推荐)

公网暴露后,SSH 服务将面临潜在的暴力破解风险,建议完成以下加固操作。

1. 配置 SSH 密钥登录(替代密码)

① 在客户端生成 SSH 密钥对:

# 推荐使用 ed25519 算法(安全且性能更好)
ssh-keygen -t ed25519 -C "your_email@example.com"

一路回车即可,会在 ~/.ssh/ 目录下生成 id_ed25519(私钥)和 id_ed25519.pub(公钥)。

② 将公钥复制到 Ubuntu 服务器:

ssh-copy-id 你的Ubuntu用户名@内网IP地址

输入一次密码,公钥即被安全地添加到服务器的 ~/.ssh/authorized_keys 中。

③ 测试密钥登录:

ssh 你的Ubuntu用户名@内网IP地址

若无需输入密码即可登录,说明密钥配置成功。

2. 禁用密码登录(进一步加固)

确认密钥登录成功,编辑 SSH 配置文件以禁用密码认证:

# 先备份原始配置文件
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

# 编辑配置文件
sudo nano /etc/ssh/sshd_config

找到或添加以下行,确保值为:

PubkeyAuthentication yes
PasswordAuthentication no
PermitRootLogin no

保存并退出后,重启 SSH 服务使配置生效:

sudo systemctl restart ssh

3. 可选:修改 SSH 默认端口

将 SSH 端口从默认的 22 改为其他端口(如 2222),可降低被扫描的概率:

# 在 /etc/ssh/sshd_config 中添加或修改
Port 2222

修改后需重启 SSH 服务,并在 cpolar 中将隧道的「本地地址」从 22 改为 2222


🔄 五、长期维护建议

  1. 固定公网地址(升级套餐)
    免费隧道的公网端口每 24 小时会变化。如需长期稳定的固定地址,可在 cpolar 官网「预留」功能中保留一个固定的 TCP 端口,并将隧道配置中的「域名类型」改为「固定 TCP 端口」(需升级套餐)。

  2. 使用 autossh 保持连接稳定
    若隧道偶尔断开,可安装 autossh 自动重连:

    sudo apt install autossh -y
    
  3. 定期更新系统
    保持 Ubuntu 系统和 SSH 服务处于最新版本,以获取安全补丁:

    sudo apt update && sudo apt upgrade -y
    

📌 小结

阶段 核心操作 验证方式
一、SSH 配置 安装 openssh-server,放行防火墙 局域网内能正常 SSH 登录
二、cpolar 隧道 安装 cpolar,创建 TCP 隧道指向 22 端口 在 cpolar Web UI 中看到「在线」的公网地址
三、公网连接 客户端使用 ssh -p 端口 用户@地址 外网环境下能成功登录 Ubuntu
四、安全加固 配置密钥登录,禁用密码,可选改端口 密钥登录正常,密码登录被拒绝

完成以上步骤后,你即可在任何有网络的地方,安全地远程管理 Ubuntu 服务器。

posted @ 2026-04-16 09:18  梁文锋之深圳分锋  阅读(105)  评论(0)    收藏  举报