Commit 2be4b0d5 authored by Yvan Masson's avatar Yvan Masson
Browse files

Improve README.md

- move requirements and limitations after the overview
- move all of this after the table of contents
- completely replace "the helper" by "you"
parent 03346edb
......@@ -2,38 +2,14 @@
RemoteHelpBuilder aims at providing technical people guidelines to build a free
(libre), on-demand system, to help non-technical remote people. It can be seen
as basic alternative to TeamViewer©, but based on VNC and SSH existing
as a basic alternative to TeamViewer©, but based on VNC and SSH existing
implementations.
The "_helper_" needs to set it up once (configuring the "_intermediate server_",
customizing and packaging a little "_client software_" intended for the
"_helped_"), and then can easily provide help to non-tech people running Windows
(≥ XP) or Linux (currently Debian ≥ 8, Ubuntu ≥ 16.04 and Linux Mint ≥ 18.0).
You need to set it up once (configuring the "_intermediate server_", customizing
and packaging a little "_client software_" intended for the "_helped_"), and you
can then easily provide help to non-tech people running Windows (≥ XP) or Linux
(currently Debian ≥ 8, Ubuntu ≥ 16.04 and Linux Mint ≥ 18.0).
Requirements:
- The helper must be confident with the Linux command line and system
administration to be able to build the system and to understand the security
implications (hopefully the instructions are clear enough).
- The helper needs an intermediate server, with root access, that can be
joined on its SSH port from the Internet (it can be a hosted VPS or a
Raspberry Pi behind a personnal modem/router). It needs either a static IP
address or to be pointed to by DNS. The helper could eventually use its own
Linux computer to act as the intermediate server. Only trusted users must have
access to this server.
- The helper must distribute the client software to the helped before first use.
- SSH must not be blocked by a firewall somewhere in the path (SSH port number
can be chosen).
- The helper and the helped need a bare minimum of 1 Mbit/s ADSL connection, but
2 Mbit/s is advised.
Limitations:
- This system does not allow helping more than one person at the same time.
- Wayland Linux clients are not supported.
Many things can be improved, often easily, so feel free to get in touch and
submit pull requests!
# Table of contents
......@@ -91,12 +67,36 @@ Once you have configured the system, here is how it works:
4. When done, disable the one-time password and log out from the intermediate
server.
Requirements:
- You must be confident with the Linux command line and system administration to
be able to build the system and to understand the security implications
(hopefully the instructions are clear enough).
- You needs an intermediate server, with root access, that can be joined on its
SSH port from the Internet (it can be a hosted VPS or a Raspberry Pi behind a
personnal modem/router). It needs either a static IP address or to be pointed
to by DNS. You could eventually use your own Linux computer to act as the
intermediate server. Only trusted users must have access to this server.
- You must distribute the client software to the helped before first use.
- SSH must not be blocked by a firewall somewhere in the path (SSH port number
can be chosen).
- You and the helped need a bare minimum of 1 Mbit/s ADSL connection, but
2 Mbit/s is advised.
Limitations:
- This system does not allow helping more than one person at the same time.
- Wayland Linux clients are not supported.
Many things can be improved, often easily, so feel free to get in touch and
submit pull requests!
# Prior warning
- The setup described here is based on many things at which I am
inexperienced, and has not been reviewed yet: it works but might miss security
issues.
inexperienced, and has not been reviewed yet: it works but might contain
security issues.
- The Windows client embeds Putty and UltraVNC, so you must update this client
when security updates are published.
......@@ -151,8 +151,8 @@ choose to listen on port 80 that is normally never blocked:
Port 80
```
To keep the server setup simple and still secure, the server will also run the
VNC client for the helper. Ensure that X11 forwarding is enabled on the server,
To keep the server setup simple and still secure, the VNC client will be run
directly on the server. Ensure that X11 forwarding is enabled on the server,
either globally or for your specific user, still in `/etc/ssh/sshd_config`:
```
......@@ -233,10 +233,10 @@ that provides it:
## Server's SSH key
As always, making things securely is a complicated task. Even if the helper and
the helped will be able to mutually authenticate themselves by a phone call when
transmitting the one-time password, it can be a good thing for the client
software to also authenticate the SSH server with its public key.
As always, making things securely is a complicated task. Even if the helped and
you will be able to mutually authenticate by a phone call when transmitting the
one-time password, it can be a good thing for the client software to also
authenticate the SSH server with its public key.
Your server probably provides different signature algorithms, and corresponding
public and private keys are stored in `/etc/ssh/ssh_host_*` files. To simplify
......@@ -581,7 +581,7 @@ From the
download the 32 bits version of `plink.exe` and save it to
`my-remote-help-tool\Sources\PuTTY\`.
Download PuTTY Unix source archive and extract the `LICENCE` file to
Download PuTTY Unix source archive and extract the `LICENCE` file to
`my-remote-help-tool\Sources\PuTTY\`.
Create in this same directory a file called `version.txt` and write inside the
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment