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):
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