O čo ide
Na linuxové servery, či už VPS alebo EC2 od Amazonu alebo Droplety v Digital Oceane a pod., sa možno pripájať cez SSH aliasy. Nemusíme si potom pamätať adresy serverov, mená používateľov alebo cesty ku intentity súborom.
1. Bežne dlhý SSH príkaz (pripája sa na vymyslený linux server):
$ ssh ubuntu@ec2-11-111-11-111.eu-west-1.compute.amazonaws.com -i ~/.ssh/myproject.pem
2. A rovnaký výsledok s použitím krátkeho aliasu:
$ ssh myproject
Ako pridať vlastný alias
Stačí do súboru ~/.ssh/config
pridať alias na myproject
:
Host myproject
Hostname ec2-11-111-11-111.eu-west-1.compute.amazonaws.com
User ubuntu
IdentityFile ~/.ssh/myproject.pem
StrictHostKeyChecking no
Následne bude fungovať pripojenie pomocou príkazu $ ssh myproject
.
- Za Host, Hostname a User je je potrebné dosadiť si vlastné hodnoty.
- User, ale aj ostatné hodnoty sa dajú prepísať pri volaní príkazu, napríklad
$ ssh jozo@myproject
pripojí prednostne používateľa jozo. - IdentityFile nie je povinné uvádzať, potom sa použije default ~/.ssh/id_rsa.
- StrictHostKeyChecking no pozor, vypína sa tým kontrola voči .known_hosts (man-in-the-middle útoky), ale zase rieši to problémy s fingerprintami pri zmene app servera. Možno vynechať a kontrola ostane zapnutá.
Viac serverov – príklad
V prípade väčšieho počtu serverov je možné súbor jemne organizovať. Napríklad, ak sa starám o dva weby – CMS a Bazár a pre každý mám staging a production server, pridám štyri aliasy.
Súbor ~/.ssh/config
:
Host cms-production
Hostname ec2.a.amazonaws.com
User ubuntu
Host cms-staging
Hostname ec2.b.amazonaws.com
User ubuntu
Host bazar-production
Hostname ec2.c.amazonaws.com
User ubuntu
Host bazar-staging
Hostname ec2.d.amazonaws.com
User ubuntu
Potom sa môžem na ktorýkoľvek pripojiť spamäti. Napríklad na staging CMS-ka iba zadám $ ssh cms-staging
.
Toto bol jednoduchý trik k programu OpenSSH, ako za pomoci config súboru zadefinovať SSH aliasy, teda skratky.
Ďakujem za čítanie.