Skip to content

第一章 开发环境搭建 v1.0 ​

基于CentOS 10

基础环境配置 ​

powershell
# linux服务器依赖
dnf install -y openssh-server passwd net-tools tar

VSCode-Server(Remote-SSH) ​

一、客户端配置 ​

  1. 安装Remote - SSH插件
  2. 配置SSH配置文件
bash
Host 192.168.2.1
  HostName 192.168.2.1
  User root
  Port 22
  1. 查看SSH公钥
bash
# 若未生成则生成密钥
ssh-keygen
# 查看公钥
cat ~/.ssh/id_rsa.pub

二、服务端安装 ​

  1. 在线安装

直接通关VSCode操作安装即可

  1. 离线安装
bash
#!/bin/bash

# 查看VSCode版本,设置vscode-server使用对应版本
VERSION="1.93.1"
COMMIT="38c31bc77e0dd6ae88a4e9cc93428cc27a56ba40"

# 离线下载放置在当前运行目录下执行该脚本
LOCAL_CLI_FILE="$(pwd)/vscode-cli-alpine-x64-cli-$VERSION.tar.gz"
LOCAL_SERVER_FILE="$(pwd)/vscode-server-linux-x64-$VERSION.tar.gz"

function install() {
    # check
    if [ ! -f "$LOCAL_CLI_FILE" ]; then
        echo "not found $LOCAL_CLI_FILE, download..."
        # download
        if curl -fL https://update.code.visualstudio.com/commit:${COMMIT}/cli-alpine-x64/stable -o "$LOCAL_CLI_FILE"; then
            echo "download success: $LOCAL_CLI_FILE"
        else
            echo "download fail... exit..."
            exit 1
        fi
    else
        echo "found $LOCAL_CLI_FILE, pass..."
    fi
    if [ ! -f "$LOCAL_SERVER_FILE" ]; then
        echo "not found $LOCAL_SERVER_FILE, download..."
        # download
        if curl -fL https://update.code.visualstudio.com/commit:${COMMIT}/server-linux-x64/stable -o "$LOCAL_SERVER_FILE"; then
            echo "download success: $LOCAL_SERVER_FILE"
        else
            echo "download fail... exit..."
            exit 1
        fi
    else
        echo "found $LOCAL_SERVER_FILE, pass..."
    fi

    # install
    mkdir -p ~/.vscode-server/cli/servers/Stable-${COMMIT}/server
    tar -xzf $LOCAL_SERVER_FILE --strip-components=1 -C ~/.vscode-server/cli/servers/Stable-${COMMIT}/server
    tar -xzf $LOCAL_CLI_FILE && mv code ~/.vscode-server/code-${COMMIT}
    echo "install success..."
}

function main() {
    install
}

main

三、服务端配置SSH公钥互信 ​

bash
cat "上面 cat ~/.ssh/id_rsa.pub  输出内容" >> ~/.ssh/authorized_keys

Code-Server一键配置 ​

bash
#!/bin/bash

# code-server版本
VERSION="4.103.1"
# 离线下载放置在当前运行目录下执行该脚本
LOCAL_FILE="$(pwd)/code-server-$VERSION-linux-amd64.tar.gz"
curl http://<文件服务器>/download/code-server/code-server-$VERSION-linux-amd64.tar.gz -o $LOCAL_FILE
# 安装路径配置
INSTALL_PATH="$HOME/.local/lib"
BIN_PATH="$HOME/.local/bin"
LOG_PATH="$HOME/.local/output.log"
# 服务配置
LOGIN_PASSWORD="<password>"
SERVER_IP="0.0.0.0"
SERVER_PORT="12345"

function install() {
    # check
    if [ ! -f "$LOCAL_FILE" ]; then
        echo "not found $LOCAL_FILE, download..."
        # download
        if curl -fL https://github.com/coder/code-server/releases/download/v$VERSION/code-server-$VERSION-linux-amd64.tar.gz -o "$LOCAL_FILE"; then
            echo "download success: $LOCAL_FILE"
        else
            echo "download fail... exit..."
            exit 1
        fi
    else
        echo "found $LOCAL_FILE, pass..."
    fi

    # install
    mkdir -p $INSTALL_PATH $BIN_PATH
    tar -C $INSTALL_PATH -xz -f "$LOCAL_FILE"
    mv $INSTALL_PATH/code-server-$VERSION-linux-amd64 $INSTALL_PATH/code-server-$VERSION
    ln -s $INSTALL_PATH/code-server-$VERSION/bin/code-server $BIN_PATH/code-server
    # firewall
    firewall-cmd --zone=public --add-port=$SERVER_PORT/tcp --permanent
    firewall-cmd --reload
    # config
    mkdir -p ~/.config/code-server/
    echo "
bind-addr: $SERVER_IP:$SERVER_PORT
auth: password
password: $LOGIN_PASSWORD
cert: false
" >~/.config/code-server/config.yaml
    echo "Now visit $SERVER_IP:$SERVER_PORT. Your password is $LOGIN_PASSWORD"
}

function run() {
    if [ ! -e "$BIN_PATH/code-server" ]; then
        echo "code-server not install, install first..."
        install
    fi
    echo "run code-server, log path: $LOG_PATH ..."
    # nohup $BIN_PATH/code-server >$LOG_PATH 2>&1 &
    echo "[CERTIFICATE REDACTED]" >$BIN_PATH/certificate.crt
    echo "[PRIVATE KEY REDACTED]" >$BIN_PATH/private.key
    nohup $BIN_PATH/code-server --cert $BIN_PATH/certificate.crt --cert-key $BIN_PATH/private.key >$LOG_PATH 2>&1 &
    echo "nohup $BIN_PATH/code-server --cert $BIN_PATH/certificate.crt --cert-key $BIN_PATH/private.key >$LOG_PATH 2>&1 &" > /root/run-code-server.sh
}

function main() {
    run
}

main