Petr Hlobil - Osobní stránky jednoho informatika
PHP programátor, Linux administrátor, Tvorba webových stránek
- Nacházíte se zde:
- Linux
- SSH bez hesla
Poslední články
SSH bez hesla
Kontrola fingerprintu - vygenerovani pro porovnání s putty výstupem
- for file in *sa_key.pub; do ssh-keygen -lf $file; done
SSH bez hesla
Vytvoreni adresare pro SSH, nastaveni potrebnych prav a vygenerovani soukromeho a verejneho klice.
$ mkdir -p $HOME/.ssh
$ chmod 0600 $HOME/.ssh
$ ssh-keygen -t dsa -f $HOME/.ssh/id_dsa
Zkopirovani verejneho klice na server, ke kteremu se budeme propojovat bez hesla.
scp $HOME/.ssh/id_dsa.pub user@host:/home/user/.ssh/authorized_keys
Na serveru, ke kteremu se chceme pripojovate vytvorime nasledujici link:
ln -s $HOME/.ssh/authorized_key $HOME/.ssh/authorized_keys2
Je to proto, ze nektere ssh hledaji nazev: authorized_keys2
Opet zde nastavime prava:
chmod 0600 $HOME/.ssh/authorized_keys
Otestujeme pripojeni(parametr i urcuje soukromy klic):
ssh -i $HOME/.ssh/id_dsa server
Jaky nazev klice se ma hledat muzem ovlivni v souboru $HOME/.ssh/config, kde to zabezpecime direktivou:
IdentityFile ~/.ssh/id_dsa
K tomu aby vse fungovalo je nutne mit na serveru jeste nastavene nasledujici direktivy v souboru /etc/ssh/sshd_config:
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
#######################
postup 2
-----------------------------------
Autentizace v OpenSSH pomocí RSA klíčů
Jako snad každého mě vůbec nebaví vyťukávání hesel. Při připojování se na různé počítače přes ssh jsem byl nucen vyťukávat celkem dlouhá hesla opravdu často a tak jsem hledal nějaké pohodlnější řešení. Tady je:
Postup
Klient
ssh-keygen -t rsa -b 2048 -f ~/.ssh/novy_rsa_klic vygeneruje potřebné klíče.
Aby ssh klient věděl, které klíče na který server použít a jaký login (username) poslat, je nutné vyrobit ~/.ssh/config. Stačí něco jako je toto:
Host host.domain.tld
User username
IdentityFile ~/.ssh/novy_rsa_klic
Server
Aby ssh server poznal, že má klient správný soukromý klíč, je nutné v ~/.ssh/authorized_keys na serveru mít veřejné klíče klientů. Klíče jsou uloženy všechny v jednom souboru, co řádek, to jeden klíč. Veřejný klíč byl uložen do ~/.ssh/novy_rsa_klic.pub.
ssh username@host.domain.tld 'cat >> ~/.ssh/authorized_keys' < ~/.ssh/novy_rsa_klic
Poznámky
Aby toto fungovalo je nutné mít povoleno autorizaci RSA klíči jak na klientovi, tak na serveru (v defaultní konfiguraci je).
Soubor ~/.ssh/config umí parsovat skript na generování menu pro Window Makera jménem ssh-sessions.