RustDesk一款类似向日葵和todesk的远程软件,该软件开源,目前可以用户自建使用,当然前提你要有一台有公网IP,且网络不太差的服务器。
windows端安装:
windows端的方法有两种
方法1:直接运行(不加密)
下载win服务端软件https://github.com/rustdesk/rustdesk-server/releases/
解压后运行RuetDeskServer.Setup.exe 安装
安装完成后,直接启动程序RustDeskServer,菜单栏 – Service -Start 实现hbbs 和 hbbr 俩个服务的启动。
方法2:通过pm2参数运行(加密)
下载服务端软件https://github.com/rustdesk/rustdesk-server/releases,通过windows自带的cmd运行,这里要注意目前实测只要给hbbs加k参数就好(若hbbs和hbbr都加了,远程时候远程端和被控端都需要填k)
cd c:\rustdesk-server-windows-x64 pm2 start hbbs.exe -- -r 1.1.1.1 -k _ pm2 start hbbr.exe pm2 save
pm2 常用命令
启动进程 pm2 start bin/www 或 pm2 start app.js 重命名进程 pm2 start app.js --name wb123 添加进程 pm2 start bin/www --watch 结束进程 pm2 stop www 结束所有进程 pm2 stop all 删除进程 pm2 delete www 删除所有进程 pm2 delete all 列出所有进程 pm2 list 查看某个进程具体情况 pm2 describe www 进程监视器 pm2 monit 查看pm2的日志 pm2 logs 查看某个进程的日志 pm2 logs www 重新启动进程 pm2 restart www 重新启动所有进程 pm2 restart all
linux服务端安装(docker):
安装必要软件
apt-get install wget curl vim -y echo set clipboard=unnamed >> ~/.vimrc
安装docker相关的组件
wget -qO- get.docker.com | bash systemctl start docker systemctl enable docker apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin apt-get install docker-compose
创建目录及 compose 配置文件
mkdir -p /home/rustdesk-server cd /home/rustdesk-server mkdir hbbr mkdir hbbs vim docker-compose.yml
将docker-compose.yml文件中填入以下内容,这里要注意目前实测只要给hbbs加k参数就好。
version: '3' networks: rustdesk-net: external: false services: hbbs: container_name: rustdesk-hbbs ports: - 21115:21115 - 21116:21116 - 21116:21116/udp - 21118:21118 image: rustdesk/rustdesk-server:latest # 请把 www.vilark.com:21117 修改为自己的域名 # 如果您禁止没有key的用户建立非加密连接,请在运行hbbs和hbbr的时候添加-k _参数 command: hbbs -r www.vilark.com:21117 -k _ volumes: - ./hbbs:/root networks: - rustdesk-net depends_on: - hbbr restart: unless-stopped hbbr: container_name: rustdesk-hbbr ports: - 21117:21117 - 21119:21119 image: rustdesk/rustdesk-server:latest command: hbbr volumes: - ./hbbr:/root networks: - rustdesk-net restart: unless-stopped
运行容器
docker-compose up -d
查看密钥(先到rustdesk-server文件夹下,然后cd hbbs)
cat ./id_ed25519.pub
备用命令
# 停止容器 docker-compose stop # 启动容器 docker-compose start # 重启容器 docker-compose restart # 下线(删除)容器 docker-compose down 删除容器不会导致你的数据丢失,你的数据库保存在了当前目录下的data文件夹内
linux服务端安装(非docker):
首先下载服务端的包
wget https://github.com/rustdesk/rustdesk-server/releases/download/1.1.11-1/rustdesk-server-linux-amd64.zip
然后解压:
unzip rustdesk-server-linux-amd64.zip
修改文件名为rustdesk
mv amd64/ rustdesk
进入rustdesk目录下
cd rustdesk
然后创建启动脚本 rustdesk-start.sh(若hbbs和hbbr都加了k,远程时候远程端和被控端都需要填k)
#!/bin/sh workdir=$(dirname "$0") cd $workdir nohup $workdir/hbbs -k _ >> $workdir/nohup.out 2>&1 & nohup $workdir/hbbr -k _ >> $workdir/nohup.out 2>&1 & exit 0
给脚本加权限
chmod +x /root/rustdesk/rustdesk-start.sh
给脚本加个自启
vi /etc/systemd/system/rustdesk-autostart.service
[Unit] Description=rustdesk-autostart Server After=network-online.target [Service] Type=simple ExecStart=/root/rustdesk/rustdesk-start.sh RemainAfterExit=yes [Install] WantedBy=multi-user.target
设置开机启动,并启动
systemctl enable rustdesk-autostart.service
systemctl daemon-reload
systemctl start rustdesk-autostart.service
查看是否启动成功
ps -ef | grep hbb
指定密钥(key)的值:
目前这个开源版,指定密钥值只能指定成已经生成的,比如你的服务启动生成了一对密钥id_ed25519和id_ed25519.pub,你只要把这对密钥替换过去,然后重启服务器即可。需要注意,若hbbs和hbbr都加了,远程时候远程端和被控端都需要填k,如果只hbbs加了k,那么远程时候,只要远程端有key就能远程
客户端自定义配置:
可以通过改客户端安装包名字,让用户在安装客户端后,自动配置好服务器ID,直接可以接受远程。
将安装包名字改成这样,user/host/key部分可以随便写,但是要注意,key值不能为空(anbc.com是你的IP地址,或者指向IP地址的域名)。
user-rustdesk-host=anbc.com,key=x.exe
使用注意:被控端只需要填写输入服务器 IP 地址即可,控制端需要填入秘钥,才可以发起连接。
客户端地址:https://github.com/rustdesk/rustdesk
参考文章:https://www.idcfq.com/1062.html
rustdesk连接错误连接被对方关闭是什么原因呢,我看网上说hbbr 跟 hbbs 的 下面2个文件保持一致,但是不知道是什么意思
hbbr 跟 hbbs 的 下面2个文件保持一致id_ed25519要是一对
连接错误连接被对方关闭感觉是端口和服务的问题
非专业版不能自定义key吗,-k后边加了自定义的key并不能生效
不能自定义,但是可以改变,可能是有生成规律吧
比如你想用一对老key,可以把老服务器上的id_ed25519和id_ed25519.pub替换到新服务器上去,然后重启服务器即可。
一对 key (公钥和秘钥)要用工具生成的
参考官方链接 https://github.com/rustdesk/rustdesk-server/blob/master/README-ZH.md#%E5%A6%82%E4%BD%95%E7%94%9F%E6%88%90%E5%AF%86%E9%92%A5%E5%AF%B9
用这个 docker 指令可以生成新的密钥对(公钥和秘钥),注意这里用的是带 s6 层镜像
rustdesk-server-s6
,和上面的代码的两个镜像不一样,相当于把上面两个镜像融合到一起做成的新镜像,需要重新下载直接拖拽替换也可以,重启下服务就行,我几个小鸡都是这样,因为我有时候要切中继,密钥不变好一点,不然输入比较麻烦
都行的,反正基本也就第一次连的时候改一次秘钥
当然最保险的方法是定期生成然后分各个机器定期更新(比如 Github Actions 自动生成 + 本地机器 cron 定期从 github 上拉)
确实,这样更安全,不过最近感觉rustdesk强制中继也不好用了,买了个腾讯200M小鸡也没改善多少,我在找新的方案
如果只是考虑远程连接的话,你花这钱干脆老老实实买个 todesk 会员得了,或者向日葵买个路由器。花了钱的确实就是爷
向日葵的体验也是一般,就是搞过会员才后来弄自建,有次向日葵会员拉文件给我恶心坏了,最后弄网盘上传下载才传好文件
请问rustdesk客户端网络设置里面直接填对应的域名就行了吗?需不需要填写端口
直接IP或者域名,默认用21116端口
按照楼主的配置不用填端口,因为楼主的配置压根就没做端口转换,用的是和默认配置一样的端口(比如
- 21116:21116
,意思是外部服务器的 21116 端口也对应容器内部的 21116 端口)但是如果做了端口映射(比如改成
- 31000:21116
那就得写端口号了,因为这时候相当于做端口转换了)具体哪个端口要怎么填,可以看这篇文章:https://shiyuki.com/post/5-fen-zhong-zi-jian-rustdesk-zhong-ji-fu-wu-qi/
注意看这篇文章里作者在
docker run
指令里的-p AAAA:BBBB
的配置和下面客户端的配置使用RuetDeskServer.Setup.exe 运行了 外网客户端无法访问 路由器端口映射都弄好了. 就是外网客户端无法连接 大佬知道怎么回事么 ,查资料说 RuetDeskServer.Setup.exe 自定义公网ip 地址 怎么自定义公网IP?
windows运行还是用pm2那个好点,我实测PM2拉起来的进程没问题
另外你外网可以telnet服务端的21116端口这些看能不能通
用 tcping 公网ip+端口全是通的 好的 pm2有教程么?
pm2现在win服务器安装好了就可以,之后就很简单
进rustdesk的解压目录,用参数把服务器拉起来就可以
我又看了下我的教程,可能有些细节没说清楚,我已经给补上了
PM2运行的话,就是你先装好pm2,然后通过cmd,执行相关命令运行
这两天我在测试这个发现也是这样,改成rustdesk-server-s6一个样子,外网搞死连不进来,地址转换肯定没问题,因为我还有其他服务做的地址转换一模一样的,tcping telnet 都没问题
win环境吗?我在win环境测试过自带公网V4的win机用PM2运行是没问题的
公网v4没问题。昨天被回收了。才来研究v6 ,v6外网连还是有点问题呀
目前还没试过v6,不确定v6是否可用