第一章 开发环境搭建 v1.0
基于CentOS 10
基础环境配置
powershell
# linux服务器依赖
dnf install -y openssh-server passwd net-tools tarVSCode-Server(Remote-SSH)
一、客户端配置
- 安装
Remote - SSH插件 - 配置SSH配置文件
bash
Host 192.168.2.1
HostName 192.168.2.1
User root
Port 22- 查看SSH公钥
bash
# 若未生成则生成密钥
ssh-keygen
# 查看公钥
cat ~/.ssh/id_rsa.pub二、服务端安装
- 在线安装
直接通关VSCode操作安装即可
- 离线安装
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_keysCode-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