Page MenuHomePhabricator

Hosting / SSH
Updated 279 Days AgoPublic

If ever you need to connect to hosts SSH client will need some special config.

We first need to distinguish public host from private hosts. Public hosts are:

  • e1.enlightenment.org
  • e2.enlightenment.org
  • e3.enlightenment.org
  • e4.enlightenment.org
  • e5.enlightenment.org
  • e5v1.enlightenment.org
  • e5v2.enlightenment.org

While private are all others behind e6v1.enlightenment.org.

Connection to public hosts do not generally need special setup, but you can for example pre-define your login user, if ever your local user is different than you Enlightenment login (do not forget to replace <LOGIN> with your actual dev username):

~/.ssh/config
Host e? e?.enlightenment.org e?v*.enlightenment.org
  User <LOGIN>

If you are behind a firewall that allow you to do POPS (tcp/995), you can force port once for all (do not forget to replace <LOGIN> with your actual dev username):

~/.ssh/config
Host e? e?.enlightenment.org e?v*.enlightenment.org
  User <LOGIN>
  Port 995

If you are behind an HTTPS proxy:

~/.ssh/config THIS IS WRONG FOR NOW
Host e? e?.enlightenment.org e?v*.enlightenment.org
  User <LOGIN>
  Port 443
  ProxyCommand corkscrew <PROXY IP> <PROXY PORT> %h %p

When this is OK, you are now able to connect to private hosts using ssh and ProxyCommand to first connect to e6v1.enlightenment.org (via a different port, via a proxy or whatever ...) and ask him to connect standard input and output to the destination host. This needs OpenSSH 5.4.

~/.ssh/config
Host *.enlightenment.org
  User <LOGIN>
  ProxyCommand ssh -q e6v1.enlightenment.org -W %h:%p

When you run ssh download.enlightenment.org, first a tunnel is established between your hosts and e6v1.enlightenment.org

Here is a full example of what you can have:

~/.ssh/config
Host git.enlightenment.org
  User git
  ProxyCommand none

Host devs.enlightenment.org
  User <LOGIN>
  ProxyCommand none

Host e? e?.enlightenment.org e?v*.enlightenment.org
  User <LOGIN>
  ProxyCommand none

Host *.enlightenment.org
  User <LOGIN>
  ProxyCommand ssh -q e6v1.enlightenment.org -W %h:%p

Then, you are able to use ssh, scp (discouraged), rsync or any tool relying on OpenSSH.

  • Interactive session
$ ssh download.enlightenment.org
0 11:10:31 beber@e5-web1 ~ $ date
Tue Sep 10 11:10:36 PDT 2013
  • Copying files
$ tar cz -C /etc fstab | ssh download.enlightenment.org tar xz -C /tmp
$ rsync -avPh /etc/fstab download.enlightenment.org:/tmp
sending incremental file list
fstab
       1.69K 100%    0.00kB/s    0:00:00 (xfer#1, to-check=0/1)

sent 1.76K bytes  received 31 bytes  275.69 bytes/sec
total size is 1.69K  speedup is 0.94
$ scp /etc/fstab download.enlightenment.org:/tmp
fstab                                                                         100% 1688     1.7KB/s   1.7KB/s   00:00
Last Author
beber
Last Edited
Nov 13 2018, 10:02 PM
Projects
None
Subscribers
jeyzu, kuuko