..
基于VPS搭建一台新的远程开发机
简介
在本文中,将使用一台VPS搭建一台新的远程开发机,以便在任何地方都可以访问我们的开发环境,以及记录一些可能碰到的问题。
机器硬件x系统
系统为Centos9,机器配置:4核8G,HDD 60G。
cat /etc/os-release
NAME="CentOS Stream"
VERSION="9"
安装环境
1、安装基础工具
sudo dnf groupinstall "Development Tools"
sudo dnf install openssl-devel bzip2-devel libffi-devel zlib-devel readline-devel sqlite-devel ncurses-devel tk-devel gcc make
2、安装Docker
sudo dnf -y install dnf-plugins-core
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo systemctl enable --now docker
sudo systemctl enable --now docker
This configures the Docker systemd service to start automatically when you boot your system. If you don’t want Docker to start automatically, use sudo systemctl start docker instead.
3、配置SSH高位端口
有些机场会限制22端口,我们有时候需要在代理Tun模式下使用SSH,可以改用高位端口。
增加端口后重启sshd服务 systemctl restart sshd
```shell
vim /etc/ssh/sshd_config
# 修改端口
Port 22
Port 40000
修改防火墙
sudo firewall-cmd --list-all-zones
sudo firewall-cmd --permanent --add-port={PORT}/tcp
# 如果默认的zone不是public而是docker,可以使用下面的命令
sudo firewall-cmd --permanent --zone=docker --add-port={PORT}/tcp
sudo firewall-cmd --reload
4、安装Python3.10
虽然Centos9自带了Python3.9,但还是常用的Python3.10,故通过源码安装一个共存。
# 下载和解压源码
cd && mkdir tools && cd tools
wget https://www.python.org/ftp/python/3.10.XX/Python-3.10.XX.tgz && tar zxf Python-3.10.XX.tgz
cd Python-3.10.XX
# 配置安装到 /usr/local/python3.10 目录
./configure \
--prefix=/usr/local/python3.10 \
--enable-optimizations \
--with-system-ffi \
--with-ensurepip=install
# 编译(-j 参数后面的数字是CPU核心数)
make -j $(nproc)
# 安装(使用altinstall避免覆盖系统Python)
sudo make altinstall
# 创建python3.10的软链接
sudo ln -s /usr/local/python3.10/bin/python3.10 /usr/local/bin/python3.10
sudo ln -s /usr/local/python3.10/bin/pip3.10 /usr/local/bin/pip3.10
# 检查版本
python3.10 --version
pip3.10 --version
# 检查安装路径
which python3.10
python3.10 -c "import sys; print(sys.prefix)"
## 可选,会覆盖默认python命令!
ln -s /usr/local/bin/python3.10 /usr/bin/python
5、安装Git
sudo dnf update -y --allowerasing # 更新软件包到最新版本,慎用
sudo dnf install git -y
碰到的问题
1、sshd服务无法启动
之前有碰到过升级导致sshd不匹配问题,这时候需要通过网站管理后台进入。
systemctl status sshd
sshd -t
'openssl version mismatch, built against xxx, you have yyy' #会提示错误
解决方法降级(有可能失败)或者重新编译sshd。
# 查看可用的OpenSSL版本
dnf list openssl --showduplicates
# 安装特定版本(根据实际版本号调整)
dnf downgrade openssl-1:3.2.0-10.el9 openssl-libs-1:3.2.0-10.el9 #根据具体版本号调整
更推荐
# 完全删除当前的OpenSSH
dnf remove openssh-server openssh-clients
# 清理相关文件
rm -rf /etc/ssh/ssh_host_*
# 重新安装
dnf install openssh-server openssh-clients
# 生成新密钥
ssh-keygen -A
# 启动服务
systemctl start sshd
Dev服务器上述修改后,本地VSCode远程连接时,会提示The remote host identification has changed
,需要删除本地的~/.ssh/known_hosts
文件中相关IP的内容重新生成。