远程安装, 开源远程控制

今天我们将看到一个很棒的项目, 名为 Remotely. 一个用于远程控制公司或个人设备的解决方案, 用于临时远程支持访问或无人值守的设备. 如果需要,我们还可以执行远程脚本或命令.

Remotely 项目非常有趣, 事实上,这是一个很完整的解决方案,当我们需要连接到远程设备时. 我说了什么, 当有人需要支持时, 或者当我们想连接到一个设备而没有人来帮助我们时. 它是安全的,并且相当可自定义, 我们将看到 Remotely 可以与自己的服务器一起使用 (公共服务器) 或者我们可以在自己的基础设施上安装它. 在这篇文章中,我们将看到这两种选择. Como siempre agradecer y ayudar a este tipo de proyectos que mejoran el día a día del mundo IT, su autor es Jared Goodwin, y el sitio 官方网站.

Remotely es bastante sencillo, dispondremos de un portal web, donde los usuarios remotos podrán conectarse para descargarse el software ‘ligerode conexión remota; o donde nosotros como administradores del sitio podamos entrar y controlar remotamente algún equipo que hayamos añadido previamente a nuestra cuenta.

Si queréis probar su servidor público bastará acceder aquí para probar: https://app.remotely.one

Otra opción será como dijimos instalarlo bajo nuestro propio servidor, que es la interesante, pero esta se bifurca otra vez, parece un juego de aventuras 🙂 Al grano, 在本地安装时,我们可以选择使用已经预编译的包, 这样服务器将是完全功能性的, 但是有些事情,比如客户端软件无法自定义, 既不能使用公司的徽标/颜色,也不能使用URL, 用户需要手动输入. 这是一种选择. 而另一种选择将更长但有趣, 因为我们需要有一个GitHub帐户, 对项目进行分支和其他一些操作, 但我们可以更好地定制解决方案.

所以如果你们觉得可以,我们就来看看这两种选择, 首先是已经预编译的包,这样我们可以比较,每个人可以保留自己感兴趣的内容. 开始! 我们需要一个Ubuntu Server, 在我的情况下,我使用的是一个 21.04, 确保它是最新的, 新安装, 使用静态 IP; también pensaremos un FQDN para el sitio web, 例如: soporte.midominio.eso 并且我们将在防火墙/路由器上打开 443tcp HTTPS 和 80tcp HTTP 对应的机器, 后者用于 LetsEncript.

默认安装

我们开始安装:

wget https://github.com/lucent-sea/Remotely/releases/latest/download/Remotely_Server_Installer
chmod +x Remotely_Server_Installer
sudo ./Remotely_Server_Installer

在安装过程中,安装向导会询问我们是否要使用预编译的软件包, 我们选择是, 以及网站路径,我们将使用 Nginx 作为网页服务:

下载预编译的软件包 (是/否)?
如果选择否, 将通过 GitHub Actions 创建自定义的服务器软件包.
输入响应: 是

服务器文件应解压到哪个目录 (例如. /var/www/remotely/)?
输入响应: /var/www/remotely

您的服务器公共 URL 是什么 (例如. https://app.remotely.one)?
输入响应: https://soporte.midominio.eso

Which web server will be used?
    [0] - Caddy on Ubuntu
    [1] - Nginx on Ubuntu
    [2] - Caddy on CentOS
    [3] - Nginx on CentOS
    [4] - IIS on Windows Server 2016+
输入响应: 1
...

Tras unos segundos ya tendremos el sitio montado, abrimos un navegador contra nuestro FQDN o IP de Remotely. Sin loguearnos podremos simplemente pulsar en Downloads para descargar los distintos softwares para conexión remota de Windows, Linux 或 Mac. Así que la primera vez nos crearemos un usuario nuevo para trabajar como administradores del sitio, 点击 “注册”,

Indicamos un mail y una contraseña & “注册”,

Y bueno tendremos acceso a más posibilidades, darle un paseo que es muy sencillito y completo, a lo largo de este post iremos descubriendo las opciones que tenemos.

Por hacer la primera prueba y no seguir más con este entorno preestablecido, si en la zona de Downloads nos descargamos el cliente ligero, al ejecutarlo veremos que hay que escribir manualmente la URL de nuestro sitio, 这是, a la persona remota entregaremos un EXE y al abrirlo deberá de escribir siempre la URL. No gusta. Y luego ya el tema del Logo o los colores, pues que este sería el default.

Una vez se conectó contra la URL ya tendremos un ID de conexión,

Que se lo daremos a nuestro agente/técnico, desde el menú lateralRemote Controlpodrá escribirlo y conectarse a la sesión del cliente.

Y no sólo lo que nos esperabamos de un control remoto, si no que la sesión se puede grabar en video, podremos mandar ficheros, 聊天, privilegios de lectura¡muy elegante!

Instalación personalizable

井, 在了解了一些它的可能性和强大功能后,我们将进行可自定义安装, 这是, 不仅可以更改徽标, 颜色, 嵌入的 URL… 还可以更改语言或我们感兴趣的内容, 因为我们将拥有代码.

首先, 我们需要有一个账号在 GitHub的, 所以如果你没有的话, 注册!

后, 如果我们还没做的话, 我们需要将我们设备的公钥复制到我们的 Github 账号, 因为之后我们会访问我们的一个仓库. 井, 使用以下命令创建并查看它:

ssh-keygen -t rsa -b 4096 -C "远程设备"
cat /root/.ssh/id_rsa.pub
ssh-rsa AAAAAAAAAAAAAAAAAAAAAAAAAADDDDDDDDDDDDDDDDdfdsfsdfxxxxxxxxxxxxxdssadlkjasdksaljdalksjdalskdjakdsjaskdljasdhfffffffffffffffffffffffffffffffasddddddddddddddddddddddddddddddddddddddddassxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxsssssssssssssssssssssssssssssssssssqqqqqqqqqqqqqqqqqqqqqqqwwwwwwwwwwwwwwwwwwwwweeeeeeeeeeeeeeeeeeeeeeerrrrrrrrrrrrrrrrrrrttttttttttttttttttttyyyyyyyyyyyyyyyyyyyyyuuuuuuuuuuuuuuuuuuuuuiiiiiiiiiiiiiiiiiiiiiiiiiioooooooooooooopppppppppppppppppp== Equipo remotely

En Github, vamos a nuestros Settings > SSH and GPG Keys > New SSH Keyindicamos un nombre y la pegamos.

我们将 https://github.com/lucent-sea/Remotely 并单击 “Fork”, vamos a bifurcar el proyecto y vamos a copiarnos exactamente una copia del original en nuestra cuenta.

Y luego desde la shell podremos descargarnos el proyecto a nuestra máquina, podría ser un buen momento si queremos hacerle alguna modificación (idioma…), y tras ello hacemos un pull & un push:

git 克隆 gi*@****ub.com:USUARIO_GITHUB/remotely
cd ./remotely
git remote add upstream https://github.com/lucent-sea/remotely
git pull upstream master
git push origin master

Necesitaremos también un Personal Access Token, 那么,让我们 https://github.com/settings/tokens > “Generate new token

Ponemos nombre descriptivo para qué lo usaremos, caducidad, marcamos únicamente el tick de ‘repoy abajo pulsamos enGenerate token”,

Y nos copiamos en un lugar seguro nuestro Token, lo necesitaremos.

Una última cosina, dentro de nuestro repo de Remotely, vamos a Actions y pinchamos enI understand…”, necesitaremos que funcionen algunas acciones de los workflows para la instalación de Remotely.

现在我们真的可以开始安装了, 这一次我们会说明我们不想使用预编译包, 答案是肯定的, 作为交换,它会要求我们提供 GitHub 用户名和令牌等信息, 我给大家留下最终安装的步骤:

wget https://github.com/lucent-sea/Remotely/releases/latest/download/Remotely_Server_Installer
chmod +x Remotely_Server_Installer
sudo ./Remotely_Server_Installer

并且我们需要友好地更改我们的回答, 我会告诉大家如何使用助手进行操作:

下载预编译的软件包 (是/否)?
如果选择否, 将通过 GitHub Actions 创建自定义的服务器软件包.
输入响应: 不

服务器文件应该解压到哪个目录 (例如. /var/www/remotely/)?
输入响应: /var/www/remotely

您的服务器公共 URL 是什么 (例如. https://app.remotely.one)?
输入响应: https://soporte.misitio.eso

将使用哪个 Web 服务器?
    [0] - Caddy on Ubuntu
    [1] - Nginx on Ubuntu
    [2] - Caddy on CentOS
    [3] - Nginx on CentOS
    [4] - IIS on Windows Server 2016+
输入响应: 1

你的 GitHub 用户名是什么?
输入响应: USUARIO_GITHUB

应使用哪个 GitHub 个人访问令牌?
输入响应: ghp_XXXXXXXXXXXXXX_TOKEN_XXXXXXXXXXXXXX

创建新的构建 (是/否)?
如果选择否, 将使用 GitHub 上最新的现有构建工件.
输入响应: 是

你想构建哪个版本?
    [0] - 最新的官方发布
    [1] - 预览更改 (即. master 分支)
    [2] - 特定发布
输入响应: 1
...

顺便一提, si os atascáis en algún paso, os dejo este video de su tutorial de instalación: https://remotely.one/Tutorials

就是这样! ya tendremos el portal levantado! Recordar (和以前一样) crear una cuenta con privilegios administrativos desde “注册”. Recuerda que sólo se puede por defecto registrarse una primera vez en el sitio, nadie más sin nuestro consentimiento lo podrá hacer.

E indicarle unos credenciales,

Antes de nada me voy al tema, tenemos un apartado llamadoBrandingdonde podemos personalizarnos la imagen del software cliente, indicando el logo de nuestra empresa, un título, 颜色, tema claro/oscuro

Quedaría algo así cuando el cliente lo abre, precioso, y sin que tengan que meter ninguna URL. Al agente (técnico de soporte) le podemos copiar y mandar el link o directamente dictarle el ID de sesión. Ya que el agente podrá entrar también desde el portal web de Remotely desdeRemote Control”,

Cuando el agente introduzca el código del ID de la sesión, al usuario final le saldrá un mensaje para aceptar la sesión remota.

歌词大意: 我说的, tendríamos un control remoto de manera puntual con alguien que lo necesite.

Por último con lo del tema, tenemos dos ficheros CSS que nos ayudarán también a customizar el frontal web, os los dejo por si queréis hacerlo un pelín más corporativo: /var/www/remotely/wwwroot/css/Themes/yeti.min.css y /var/www/remotely/wwwroot/Remotely_Server.styles.css. Bueno y os dejo este ejemplo de pantallazo donde se ven las descargas que se pueden hacer desde el lado del cliente, podrá descargarse el portable instantáneo de Windows, Linux 或 Mac. Así como la opción instalable, para que no se lo tengan que andar instalando, 但要小心, este no es el de la opción desatendida, que también la tenemos llamado Resilent Agent, y es el que veremos a continuación.

Este agente que nos podremos descargar una vez nos hayamos logueado con nuestra cuenta administrativa y podremos instalarlo donde queramos, en un servidor remoto para administrarlo más tarde, en un equipo de salto, de un cliente/empresa/usuario que nos interese… 点击 “安装” no hay que cumplimentar ningún dato ya que vendrá todo embebido.

… 安装时等待几秒钟…

“关闭”,

Y ya tendremos en el menú “家” los equipos que hemos ido añadiendo el agente de conexión desatendida, para conectarnos a cualquiera de ellos será pinchar en él y en las opciones lo veremos.

Y el tema de Scripts también existe, la posibilidad de ejecutar algún comando en alguna de estas máquinas, o de programarlo en algún horarioEsto personalmente me llama menos, cubre menos la necesidad que tenía.

啊! Y espera que todavía no hemos acabado! ¿Te preocupa la seguridad? pues nada, te recuerdo que deberías habilitar el doble factor de autenticación en tu cuenta administrativa, así que desde el menú lateral “帐户” habilitaremos 2FA o Two-factor authentication. Nos saldrá un asistente donde deberemos escanear el típico código QR y añadirlo a nuestra app del móvil y copiar los códigos de seguridad por si la perdemos.

Espero que os haya parecido chulo, la verdad que es una pasada, habrá que ver cómo crece el proyecto, pero no me digáis que no es una solución buenísima para hacer conexiones remotas con usuarios torpes o con tus clientes para algún soporte/necesidad que tengan de ti. Queda corporativa total y funcional, cumple con lo que se le pediría de sobra.

拥抱tod@s, y como siempre agradeceros a los que movéis este tipo de contenido en las redes sociales, por los likes, retuits, 建议… ¡salu2!

推荐文章

作者

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, 请随时与我联系, 我会尽我所能帮助你, 分享就是生活 ;) . 享受文档!!!