由于一些原因,不能使用某日葵,某odesk,某eamview等远程软件,但是出差在外有远程需求,因此自己搭建服务器,结合开源软件rustdesk,自用远程办公。
1. 购买云服务器
现云服务器对于入门选手很友好,很多厂家第一年优惠很大,有学生优惠可以先用学生优惠玩一玩,没有学生优惠可以某宝买一个玩一玩。为了简单我个人买了华某云2C3M一年,首年47。
1.1 更新系统
首先,确保你的系统包是最新的:
sudo apt-get update sudo apt-get upgrade -y
1.2 安装依赖包
安装 Docker 所需的依赖包:
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common -y
1.3 添加 Docker 官方 GPG 密钥
通过以下命令添加 Docker 的 GPG 密钥:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
1.4. 添加 Docker 仓库
将 Docker 的仓库添加到你的 APT 源列表中:
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
1.5. 安装 Docker CE
更新 APT 包索引,并安装 Docker CE(Community Edition):
sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io -y
1.6. 启动并测试 Docker
安装完成后,启动 Docker,并通过运行测试镜像来验证安装是否成功:
sudo systemctl start docker sudo systemctl enable docker sudo docker run hello-world
1.7 (可选)将当前用户添加到 Docker 组
为了避免每次运行 Docker 命令时都需要使用 sudo
,可以将当前用户添加到 Docker 组:
sudo usermod -aG docker $USER
执行完上述命令后,重新登录或重启系统以使更改生效。
1.8 验证安装
可以通过以下命令检查 Docker 版本,确认安装成功:
docker --version
2. docker 拉取rustdesk服务镜像
2.1 拉取镜像
sudo docker run --name hbbs -p 21115:21115 -p 21116:21116 -p 21116:21116/udp -p 21118:21118 -v `pwd`:/root -td --net=host --restart unless-stopped rustdesk/rustdesk-server hbbs -r relay-server-ip:21116 -k _ sudo docker run --name hbbr -p 21117:21117 -p 21119:21119 -v `pwd`:/root -td --net=host --restart unless-stopped rustdesk/rustdesk-server hbbr -k _
relay-server-ip换成自己服务器ip。
docker run: 创建并启动一个新的容器。
--name hbbs: 指定容器的名称为 hbbs。
-p 21115:21115: 将主机的 21115 端口映射到容器的 21115 端口。
-p 21116:21116: 将主机的 21116 端口映射到容器的 21116 端口。
-p 21116:21116/udp: 将主机的 21116 UDP 端口映射到容器的 21116 端口。
-p 21118:21118: 将主机的 21118 端口映射到容器的 21118 端口。
-v pwd:/root: 将当前工作目录挂载到容器的 /root 目录。
-td: 以分离模式(-d)运行容器,并在终端中显示容器的输出(-t)。
--net=host: 使用主机网络模式,容器将共享主机的网络栈。
--restart unless-stopped: 设置容器的重启策略为“除非手动停止”,即 Docker 服务启动时自动重启容器。
rustdesk/rustdesk-server: 指定要使用的 Docker 镜像。
hbbs: 向容器传递的命令参数,表示要运行的服务。
-r ip:21116: 传递给服务的参数,指定远程服务器的地址和端口。
-k _: 传递给服务的密钥;_ 表示当前路径存放密钥
2.2 密钥
本版本中的key是强制的,但是不用你自己设置。hbbs在第一次运行时,会自动产生一对加密私钥和公钥(分别位于运行目录下的id_ed25519
和id_ed25519.pub
文件中),其主要用途是为了通讯加密。
如果您在上一步骤中没有填写Key:
(公钥文件id_ed25519.pub
中的内容),不影响连接,但是连接无法加密。
cat ./id_ed25519.pub
如果您禁止没有key的用户建立非加密连接,请在运行hbbs和hbbr的时候添加-k _
参数,例如:
./hbbs -r <relay-server-ip[:port]> -k _ ./hbbr -k _
如果要更改key,请删除 id_ed25519
和 id_ed25519.pub
文件并重新启动 hbbs/hbbr,hbbs将会产生新的密钥对。
docker操作是:暂停docker容器,删除容器,重启容器。
sudo docker stop hbbs sudo docker stop hbbr sudo docker rm hbbs sudo docker rm hbbr
参考: