首页 > 其他分享 >虚拟机或者云服务器上使用code-server

虚拟机或者云服务器上使用code-server

时间:2022-10-29 15:13:20浏览次数:82  
标签:code 证书 虚拟机 server mkcert https ca

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

相关文章