{"id":28155656,"url":"https://github.com/skosachiov/linux-remote-assistance","last_synced_at":"2025-05-15T07:14:43.789Z","repository":{"id":60119331,"uuid":"471644503","full_name":"skosachiov/linux-remote-assistance","owner":"skosachiov","description":"The ansible code produces desktop files in the /usr/share/applications/ folder and creates server no-shell user. Desktop files contain one-liners bash scripts. Desktop files allow to connect in automatic mode reverse forward and direct forward ports over ssh for telework and helpdesk, telework launches x11vnc with a pin code, helpdesk \"sees\" telework vnc on helpdesk local port. Forward ports through ssh server allows you to provide assistance behind NAT. Graphical shell is zenity. Dependences are x11vnc, tigervnc, sshpasswd, zenity.","archived":false,"fork":false,"pushed_at":"2024-04-27T20:32:07.000Z","size":881,"stargazers_count":7,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-04-27T21:28:18.562Z","etag":null,"topics":["ansible","assistance","bash","linux","remote","yaml"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/skosachiov.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-03-19T09:08:03.000Z","updated_at":"2024-04-27T21:28:19.463Z","dependencies_parsed_at":"2023-12-28T09:42:42.262Z","dependency_job_id":null,"html_url":"https://github.com/skosachiov/linux-remote-assistance","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skosachiov%2Flinux-remote-assistance","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skosachiov%2Flinux-remote-assistance/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skosachiov%2Flinux-remote-assistance/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skosachiov%2Flinux-remote-assistance/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/skosachiov","download_url":"https://codeload.github.com/skosachiov/linux-remote-assistance/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254292125,"owners_count":22046428,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ansible","assistance","bash","linux","remote","yaml"],"created_at":"2025-05-15T07:14:02.135Z","updated_at":"2025-05-15T07:14:43.770Z","avatar_url":"https://github.com/skosachiov.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Linux remote assistance\n\nThe ansible code produces desktop files in the /usr/share/applications/ folder and creates server no-shell user. Desktop files contain one-liners bash scripts. Desktop files allow to connect in automatic mode reverse forward and direct forward ports over ssh for telework and helpdesk, telework launches x11vnc with a pin code, helpdesk \"sees\" telework vnc on helpdesk local port. Forward ports through ssh server allows you to provide assistance behind NAT. Graphical shell is zenity. Dependences are x11vnc, tigervnc, sshpasswd, zenity. X11 display server, no Wayland support yet.\n\n![Linux remote assistance](https://github.com/skosachiov/linux-remote-assistance/raw/main/docs/remote-assistance-scheme.png)\n\n## Fast start (ansible automation, push mode)\n\nTested on Ubuntu 20.04/22.04 and Centos Stream 8. Can be used for any Debian/RHEL-based distributions.\n\n### Install\n\n1. Clone git repo `git clone https://github.com/skosachiov/linux-remote-assistance`\n2. Ensure sshd service started on client/server\n3. Use `su` become method for default CentOS/RHEL installation and `sudo` for Debian/Ubuntu \\\n`ansible-playbook -v -k -K -b --become-method=\u003cmethod\u003e -u user -e \"fqdn_sshserver=my.ssh.example.com no_shell_pass=deploysecret\" -i my.ssh.example.com, server.yml` \\\n`ansible-playbook -v -k -K -b --become-method=\u003cmethod\u003e -u user -e \"fqdn_sshserver=my.ssh.example.com no_shell_pass=deploysecret\" -i client.example.com, client.yml`\n\n### Uninstall\n\n1. Uninstall client \\\n`ansible-playbook -v -k -K -b --become-method=\u003cmethod\u003e -u user -i client.example.com, client-uninstall.yml`\n2. Uninstall server \\\n`ansible-playbook -v -k -K -b --become-method=\u003cmethod\u003e -u user -i my.ssh.example.com, server-uninstall.yml`\n\n## Ansible automation pull mode\n\nTested on Ubuntu 20.04/22.04 and Centos Stream 8. Can be used for any Debian/RHEL-based distributions.\n\n### Server configuration\n1. Logon to the server and get root access\n2. Install packages \\\n   Ubuntu: `apt install git ansible` \\\n   RHEL 8, Centos 8, Oracle linux 8: `dnf install epel-release; dnf install git ansible-core`\n3. `echo \"localhost ansible_connection=local\" \u003e\u003e /etc/ansible/hosts`\n4. `ansible-pull --extra-vars \"fqdn_sshserver=my.ssh.example.com no_shell_pass=deploysecret\" -U https://github.com/skosachiov/linux-remote-assistance/playbooks/server.yml`\n\n### Client configuration (X11 display server, no Wayland support yet)\n1. Logon to the client and get root access\n2. Install packages \\\n   Ubuntu: `apt install git ansible` \\\n   RHEL 8, Centos 8, Oracle linux 8: `dnf install epel-release; dnf install git ansible-core`\n3. `echo \"localhost ansible_connection=local\" \u003e\u003e /etc/ansible/hosts`\n4. `ansible-pull --extra-vars \"fqdn_sshserver=my.ssh.example.com no_shell_pass=deploysecret\" -U https://github.com/skosachiov/linux-remote-assistance/playbooks/client.yml`\n\n## Client uninstall (ansible automation, pull mode)\n\n`ansible-pull -U https://github.com/skosachiov/linux-remote-assistance/playbooks/client-uninstall.yml`\n\n## Operation through port 443 through an existing HTTPS server, port 22 is closed on the firewall\n\n### HTTPS server configuration\n\na2enmod ssl \\\na2enmod proxy_connect\n\nAdd to coniguration /etc/apache2/sites-enabled/default-ssl.conf\n\n`ProxyRequests On` \\\n`AllowCONNECT 22`\n\n### Add to ssh connection command:\n\n`apt/dnf install proxytunnel`\n\n`ssh ... -o ProxyCommand=\"proxytunnel -z -E -p {{fqdn_sshserver}}:443 -d 127.0.0.1:22\" ...`\n\n## Screenshots\n\n![ra-screenshot-00](https://github.com/skosachiov/linux-remote-assistance/raw/main/docs/screenshots/ra-screenshot-00.jpg)\n\n![ra-screenshot-01](https://github.com/skosachiov/linux-remote-assistance/raw/main/docs/screenshots/ra-screenshot-01.jpg)\n\n![ra-screenshot-02](https://github.com/skosachiov/linux-remote-assistance/raw/main/docs/screenshots/ra-screenshot-02.jpg)\n\n![ra-screenshot-10](https://github.com/skosachiov/linux-remote-assistance/raw/main/docs/screenshots/ra-screenshot-10.jpg)\n\n## A note on security\n\nObviously, we can set a legitimate ssh-server fingerprint on each workstation and not use the StrictHostKeyChecking=no option.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskosachiov%2Flinux-remote-assistance","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fskosachiov%2Flinux-remote-assistance","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskosachiov%2Flinux-remote-assistance/lists"}