SSH a práce s klíči

instalace ssh serveru

apt-get install openssh-server

generování ssh klíče

ssh-keygen # pomocí parametru -t [dsa,rsa] můžete měnit kryptovací algoritmus

příkaz vygeneruje dva typy klíčů: „id_rsa“ – privátní klíč, id_rsa.pub – veřejný klíč, klíče se vytvoří do složky ~/.ssh/ ,kde ~ je home adresář uživatele

ssh-copy-id [user]@[host] # jeden ze způsobů jak zkopírovat klíče (pub) 
na vzdálený server na který chceme mít přístup přes ssh s autorizací pomocí klíčů

nebo překopírováním klíče do správného souboru a adresáře příkaz:

scp .ssh/id_rsa.pub [user]@[host]:/home/[user]/.ssh/ # uložení do souboru,

,který se jmenuje „authorized_keys“ alespoň v základní konfiguraci ssh serveru na distribuci Ubuntu , udělá to stejné jako příkaz „ssh-copy-id“

no a nakonec přihlášení se na server kde máme instalovaný klíč

ssh -i .ssh/id_rsa [user]@[host] # přihlášení se pomocí klíče

zakázání přihlášení se na server přes jméno a heslo. Toto se používá při používání serveru na veřejné IP adrese z důvodů neustálých pokusů o přístup neautorizovaných osob , které používají slovníkové útoky na různé služby.

proto úprava v souboru /etc/ssh/sshd_config direktivy

PasswordAuthentication No

a následného restartu ssh služby

/etc/init.d/ssh restart

další možnosti obrany proti zneužití ssh služby je utilita

fail2ban # utilita slouží pro omezování přístupu na služby 
v případě slovníkových útoků na hesla klientů, funguje 
na principu iptables a uděluje po několika neúspěšných 
pokusech několika minutový/hodinový ban na ip adresu

Kopírování souborů pomocí služby ssh

pro kopírování se používá příkaz scp ukázka kopírování

scp /[adresář]/[soubor] [uživatel]@[host]:/[adresář]

Socket server  jeho použití

ssh -D 1234 [user]@[host] # umožňuje vyrobit socket server na portu 1234

Ukázka využití pro přesměrtování spojení přes socket server pro  prohlížeč Firefox (následně se projeví jakoby jste přistupovali k intertnetu z ip adresy na které jste přihlášení přes ssh klienta):

Snímek obrazovky pořízený 2013-02-12 08:19:22

 

 

 

 

 

 

 

 

 

 

 

 

Další možnosti ssh

Přesměrování jednotlivých portů „ssh -L [adresa na kterou se připojujete:]port:host:hostport“

Debugování ssh: „ssh -vvv“ čím více „v“ tak tím více si zapínám komplexnější debug režim

Spouštění příkazu přes ssh – „ssh [user]@[host] [příkaz]“

Připojení vzdáleného adresáře

SSH protokol obsahuje SFTP (Secure File Transfer Protocol). Ubuntu může používat SFTP server spíše jako vyměnitelný disk. Například, pokud váš počítač Ubuntu má SSH účet na počítači, který chcete sdílet , můžete vytvořit složku [sdilena] ve vašem domovském adresáři, a proveďte následující:

sshfs -o idmap=[user]  [server]:~/[sdilena]/

Nyní, když se podíváte do svého  složky, uvidíte svou domovskou složku na vzdáleném počítači. Pro bezpečné odebránítoto zařízení proveďte:

fusermount -u ~/[sdilena]/

Ačkoli tento souborový systém SSH je velmi užitečný, SFTP protokol nebyl navržen pro takové použití, některé běžné operace se budou chovat jinak než byste očekávali – například, nemůžete-li odpojit sshfs adresář z prohlížeče souborů.

Omezení přístupu na službu ssh

iptables -F 
iptables -A INPUT localhost -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -s 0/0 --dport 22 -j REJECT