Ubuntu服务器安装code-server
到git release页面下载打包好的deb安装包
下载地址: https://github.com/coder/code-server/releases
>dpkg -i code-server_4.8.1_amd64.deb # 安装
>code-server # 运行
# ~/.config/code-server/config.yaml # 配置所在文件
使用https
配置https,如果不使用https,无法使用完整的功能,无法配置任何插件
如果是有自己的域名,可以申请免费的https 证书,使用Nginx进行配置(具体参考文档即可)
如果只有一个公网ip地址,可以使用mkcert生成个人证书
1, 下载mkcert工具
curl -JLO "<https://dl.filippo.io/mkcert/latest?for=linux/amd64>"
chmod +x mkcert-v*-linux-amd64
cp mkcert-v*-linux-amd64 /usr/local/bin/mkcert
2, 生成ca根证书,并且本地windows主机导入该证书(
ca根证书主要是在https第一次交换对称加密密钥的时候为了保证密钥的安全而引入的,
服务端用ca的私钥加密对称密钥传给客户端,然后客户端使用ca的公钥解开获取密钥,使得客户端和服务端都可以获得同一个对称密钥,
世界上几乎所有的官方ca机构的ca证书的公钥都会内置在我们的浏览器中,所以我们自己颁布的ca证书客户端是没有其公钥的, 所以我们自己生成之后,还需要手动在客户端安装我们证书,我们本地的机器才能够安全的使用加密访问
mkcert -install # 这条命令生成ca证书
mkcert -CAROOT # 查看刚刚生成的ca证书的地址
# rootCA-key.pem # 密钥文件
# rootCA.pem # 数字证书,这个证书将后缀改为.crt 可以安装到windows中,使用scp工具下载到本地,然后双击导入,选择受信任的根证书颁布机构,导入即可
3, mkcert生成ip地址的ca证书
如果你了解证书链,就知道只有根证书是不够安全的
机构的根证书可以防止ca私钥加密的对称密钥被中间人篡改(私钥对整体证书做的摘要进行加密),还得判断证书中的域名(当然我们这里是ip地址),是否匹配(防止证书整个被掉包)
mkcert -cert-file code-server.crt -key-file code-server.key 66.66.66.66 # 换成自己的ip地址
4, 修改code-server运行配置,使用https
打开 ~/.config/code-server/config.yaml
bind-addr: 0.0.0.0:8080 # 开启公网8080端口访问
auth: password # 使用password方式鉴权
password: xxxxxxxxxxxxxxxxxxxxxxxx # password 值
cert: <code-server.crt 所在路径> # 指定数字证书
cert-key: <code-server.key 所在路径># 指定证书密钥
启动code-server
nohup code-server &
# 然后直接使用https访问https://<ip>:<port>
# enjoy!!!
问题:
1, code-server 和 vscode的插件市场不同,部分扩展可能找不到,可以自行指定所使用的市场地址,切换为vscode的插件市场
https://coder.com/docs/code-server/latest/FAQ#how-do-i-use-my-own-extensions-marketplace
或者可以自行下载vsix 包手动安装
标签:code,证书,虚拟机,server,mkcert,https,ca From: https://www.cnblogs.com/xiuneng/p/16838759.html