cim vic prace venujeme prihlaseni do nejakeho pocitace, tim mene myslenek mame na vlastni reseni problemu
nejdrive je nutne na serveru vygenerovat dvojici verejneho a privatniho klice (kdyz se na neco zepta tak staci stisknout Enter a pak dvakrat Enter), vytvori se tak dva soubory ~/.ssh/id_rsa a ~/.ssh/id_rsa.pub
% ssh-keygen -t rsa
nebo
% ssh-keygen -t dsa
nyni je musime dostat do provozu (pote se staci prihlasit "ssh bobina" a bude fungovat i s prikazem "scp")
u kazdeho je nutne jeste jednou zadat heslo, ale pak prihlasenim "ssh bobina" uz by to melo fungovat
nutne je aby v /etc/hosts byl tento server zadan
soubory ~/ssh/* a server:~/.ssh/* by meli mit opravneni 0600 a mel by byt ulozen jen na lokalnim pocitaci, zatimco vsechny ostatni soubory by mely mit opravneni 0655 nebo vyssi
nyni staci zapsat pro vyvolani nejakeho prikazu ze vzdalenoho serveru
% server1 uptime
jeste vylepseni
% alias a='ssh astra'
% alias b='ssh bobina'
% alias c='ssh cecilka'
bezpecnost :
pokud nekdo ziska kopii privatniho klice, ziska pristup ke vsem serverum,mnohem horsi vsak je, kdyz kazdy den a nekolikrat denne zadavam do shellu heslo pri kazdem prihlaseni (stejne hesla jsou casto vsude stejna), soubor "authorized_keys2" nepredstavuje zadne bezpecnosti riziko, dulezite je pouze chranit privatni klice na lokalnim pocitaci (princip kryptografie)
SSH Agent
SSH-AGENT
zajistuje spravu privatnich klicu a podle potreby predava nase prihlasovaci informace
pokud mame na pocitaci spravne spusteny agent a spravne nakonfigurovane klienty, muzeme se pres ssh prihlasit na ruzne pocitace, aniz bychom na kazdy z nich museli kopirovat privatni klic (nebo do kazdeho spojeni zapisovat heslo)
nejdrive je nutne mit autorizovany klic ssh a ze jej mame nainstalovan na pocitacich astra, bobina, cecilka
musi fungovat napr. % ssh astra
% exit
ale pokud se chci na pocitac bobina pripojit primo z astra, tak mohu na lokalnim pocitaci spustit ssh
agent, pak pridame vychozi klice
% eval `ssh-agent`
% ssh-add
na pocitacich astra,bobina,cecilka musi byt povolen predavani pozadavku agenta (defaultne je vypnuta)
~/.ssh/config nebo /usr/local/etc/ssh_config ... "ForwardAgent yes" nebo z prikazove radky s prepinacem "-A"
SSH-AGENT v X-Window
"eval `ssh
agent` je nutne zavolat uplne na zacatku (pred spustenim prostredi s okny)
vlozit napr. do ~/.bash_login nebo ~/.login (to ale neni idealni)
abych nemusel v kazdem okne spoustet agenta, tak lze pouzit tento skriptu
skript udrzuje v souboru ~/.agent.env promennou systemoveho prostredi, ktera ukazuje na aktualne spousteny ssh
agent
dojde
li k jeho ukonceni, spusti se pri otevreni noveho terminaloveho okna automaticky novy agent (a navic skript prida i platne klice)
if [ -f ~/.agent.env ]; then
. ~/.agent.env > /dev/null
if ! kill -0 $SSH_AGENT_PID > /dev/null 2> then
echo "Nalezen nepouzivany agent. Spoustim novy agent..."
eval `ssh-agent | tee ~/.agent.env`
ssh-add
fi
else
echo "Spoustim ssh-agent..."
eval `ssh-agent | tee ~/.agent.env`
fi
X-Window nad SSH
muzu spoustet vzdalene X aplikace
pracuju s nema jako s lokalnima (prenos je sifrovany!!!) ale soubory system atd. je vzdaleny (napr. quanta)
nutnost povolit predavani X11 (konfiguracni soubor sshd_config a restart sshd)
X11Forwarding yes
nutnost povolit predavani X11 (konfiguracni soubor ~/.ssh/config), pak nemusim davat prepinac "
X"
ForwardX11 yes
pr.
% ssh -X bobina
bobina% quanta
pr.
% bobina ethereal & (pobezi i pri ukonceni ssh)
pr.
% ssh -X bobina quanta
vyhody napr. u
ethereal - provadi zachycovani paketu a vizualni analyzu na zadanem serveru
vnc
gkrellm - zobazuje grafickou podobu stavu systemu v danem serveru nebo na nekolika serverech soucasne
Predavani portu nad SSH
SSH se pri lokalnim predavani navaze na lokalni port, provede sifrovani, odesle sifrovana data na vzdaleny konec spojeni ssh a pote je desifruje a odesle do zadaneho vzdaleneho hostitele a zadaneho cisla portu
tunel SSH se da vyvolat prepinacem "
L"
je nutne vypnout lokalne spusteny POP (port 110), ten vyuzivam pro odeslani
prepinac
f vyjadruje "fork" (vetveni ssh na pozadi)
prepinac
N na vzdalenem konci nebude spoustet zadny prikaz a bude se pouze predavat komunikace
pomoci prepinace
C lze vyvolat kompresy data
vhodne vyuzit sifrovani pro jakoukoliv postu napr. u bezdratovych siti