官方一键脚本最稳,自动适配系统、配置systemd服务、设置权限与默认路径;需改bind-addr为0.0.0.0:端口、配防火墙及云安全组、密码写入config.yaml并重启服务验证。

直接用官方一键脚本最稳,别自己编译或手动下 deb 包——容易漏服务配置、权限问题、路径冲突。
Linux 服务器上推荐用官方 install.sh 脚本安装
这个脚本会自动判断系统类型(Ubuntu/Debian/CentOS/RHEL),下载对应 deb/rpm 包,配置 systemd 服务,并把 code-server 加入用户级服务管理。比手动 dpkg -i 或 rpm -i 多出三件事:创建 /etc/systemd/system/code-server@<username>.service</username>、设置默认配置目录、赋予 coder 用户家目录权限。
- 执行前确认已安装
curl和systemd(几乎所有现代 Linux 发行版都自带) - 运行命令:
curl -fsSL https://code-server.dev/install.sh | sh - 装完立刻可用:
sudo systemctl start code-server@$USER,而非直接跑code-server命令 - 首次启动会生成
~/.config/code-server/config.yaml,密码就在这里,不是终端里直接输出的临时密码
bind-addr 必须设成 0.0.0.0:端口,否则外网/局域网连不上
默认配置是 bind-addr: 127.0.0.1:8080,只允许本机访问。远程开发时必须改成监听所有接口,否则浏览器打不开、手机连不上、cpolar 穿透失败。
- 编辑配置:
vim ~/.config/code-server/config.yaml - 改这一行:
bind-addr: 0.0.0.0:8080(端口可换,但别用 80/443,除非你有 root 权限且配了反向代理) - 改完重启服务:
sudo systemctl restart code-server@$USER,不是kill再手动起 - 检查监听状态:
ss -tuln | grep :8080,看到0.0.0.0:8080才算生效
防火墙和云服务商安全组必须同时放行端口
只开本地防火墙(如 ufw)不够,云服务器(阿里云/腾讯云/华为云)还有独立的安全组策略,两者都得配,缺一不可。
- 本地防火墙(Ubuntu 示例):
sudo ufw allow 8080 - 云控制台里进「安全组」→「添加规则」→ 协议选 TCP、端口填
8080、源 IP 填0.0.0.0/0(若只局域网用,填192.168.1.0/24更安全) - 验证是否通:
curl -v http://localhost:8080(本机能通)→ 再从另一台机器telnet your-server-ip 8080(不通就是网络层卡住) - 别信“我开了防火墙”,很多新手漏掉安全组,查日志也看不到错误,纯连接超时
密码配置别依赖环境变量或命令行参数
用 export PASSWORD=xxx 或 code-server --auth password --password xxx 启动,会导致密码明文留在 shell history、ps 输出里,且 systemd 服务不认这些参数。
- 唯一安全方式:在
config.yaml里写死auth: password和password: your_strong_password - 密码强度建议:至少 8 位,含大小写字母+数字,避免字典词(
admin123、password都被批量扫描器秒破) - 改完配置后必须 reload 服务:
sudo systemctl daemon-reload && sudo systemctl restart code-server@$USER - 如果忘了密码,删掉
config.yaml重生成,别试图用--auth none,那等于裸奔
真正麻烦的不是安装,而是配置生效后没验证监听地址、没调通网络层、密码写错位置还反复重启服务——这三步卡住 80% 的新手。











