Nawiązanie połączenia ze zdalnym hostem
ssh user@nazwa_serwera
Autoryzacja za pomocą klucza
Dwiema podstawowymi metodami autoryzacji do serwera SSH jest hasło oraz klucz prywatny. Dzięki pary kluczy to znaczy klucza prywatnego oraz klucza publicznego można zwiększyć bezpieczeństwo serwera SSH. Klucz publiczny można udostępniać publicznie i nie stanowi to zagrożenia, natomiast klucz prywatny należy zabezpieczyć dobrym hasłem i przechowywać go zdala od ciekawskich.
Generowanie pary kluczy
ssh-keygen
usage: ssh-keygen [-q] [-b bits] [-t dsa | ecdsa | ed25519 | rsa] [-N new_passphrase] [-C comment] [-f output_keyfile] ssh-keygen -p [-P old_passphrase] [-N new_passphrase] [-f keyfile] ssh-keygen -i [-m key_format] [-f input_keyfile] ssh-keygen -e [-m key_format] [-f input_keyfile] ssh-keygen -y [-f input_keyfile] ssh-keygen -c [-P passphrase] [-C comment] [-f keyfile] ssh-keygen -l [-v] [-E fingerprint_hash] [-f input_keyfile] ssh-keygen -B [-f input_keyfile] ssh-keygen -D pkcs11 ssh-keygen -F hostname [-f known_hosts_file] [-l] ssh-keygen -H [-f known_hosts_file] ssh-keygen -R hostname [-f known_hosts_file] ssh-keygen -r hostname [-f input_keyfile] [-g] ssh-keygen -G output_file [-v] [-b bits] [-M memory] [-S start_point] ssh-keygen -T output_file -f input_file [-v] [-a rounds] [-J num_lines] [-j start_line] [-K checkpt] [-W generator] ssh-keygen -s ca_key -I certificate_identity [-h] [-U] [-D pkcs11_provider] [-n principals] [-O option] [-V validity_interval] [-z serial_number] file ... ssh-keygen -L [-f input_keyfile] ssh-keygen -A ssh-keygen -k -f krl_file [-u] [-s ca_public] [-z version_number] file ... ssh-keygen -Q -f krl_file file ...
Tworzymy katalog przeznaczony na klucze
mkdir ~/.ssh/klucze
Generujemy parę kluczy o wielkości 4096 bitów i nazwie klucz-rsa
w katalogu
~/.ssh/klucze/
, jeśli nie podamy nazwy klucza zostanie wygenerowany klucz
o nazwie id_rsa
i id_rsa.pub
, tak wygenerowane klucze będą użyte jako
standardowe.
ssh-keygen -b 4096 -f ~/.ssh/klucze/klucz-rsa Generating public/private rsa key pair. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/user/.ssh/klucze/klucz-rsa. Your public key has been saved in /home/user/.ssh/klucze/klucz-rsa.pub. The key fingerprint is: SHA256:ETL9Q77azhtBr8jhxOR0bh6HguZXlmHApqWqWDosg90 user@hostname The key's randomart image is: +---[RSA 4096]----+ | ooo | | o=o. | | =++= | | o* *+= | | .o S Xoo | | . .o + O.= | |o= o . =o+ | |B.o E ..... | |.o .+. | +----[SHA256]-----+
Klucz publiczzny
cat .ssh/klucze/klucz-rsa.pub ssh-rsa AAAAB3NzaC1yc2EAAAAD6q3LoFyRZ1dyVtvlxJNxyLDg22rIgby8R6SatHkQ== user@hostname
Klucz prywatny
cat .ssh/klucze/klucz-rsa -----BEGIN OPENSSH PRIVATE KEY----- UWobH5nA/W7JaxBpzQiKexWng5Lr5kWpQki1zoWO1lVBi0UdUE2WPQ0g1EfmtDedTD1xO5 sBi8ZLABCPTnbZzovR41vKunZPkGWoci4/RTksQW9vebzc6q3LoFyRZ1dyVtvlxJVqMxlm z3A0OsXrGEQ+93pzo5L9fUNxyLDg22rIgby8R6SatHkQAAB1D80VqMAnYgsdfSXwQYoev2 1d4pOZsQ/cVweIvXpJ0UClScqMRjrxwBylZ5vHQLWZIXiZ41Fg89ey/xjCTgmh9+3/1eXg URygVuWRTTV/4FbhJf7tOsR8sPXqkeGyKoL3uQs7YSgOxngm/FzgoHShSEHF+Qyssyx796 CO4yC/pVLucH2uS9phDfoIOBTaIx4yzMmZoEgUQlJCc37ZJ+GB9urXDqDazKugnORGb04i 9KROom25cMHL/OBZfbsLitwUgcSRRpt3JVHqxKmcTo6Edb4N9qAdJMqOruemDhBHThe89V KcJ5ZGoSESe8ZAVX73qCN9OqXbojG5TVwrudB/7QidCsDNmrIRyNp0auCEkyAPPpSo8V1e m3yZe9Q33iKMvgFJ2S30SS5+dAtVPNrKnavL0gzxLuBt2rFpecUOjmAKzYgRw+A8NDVbp0 sdzZIcxILDM/YrTMpo648sJJo= -----END OPENSSH PRIVATE KEY-----
Przygotowanie konta po stronie serwera do autoryzacji za pomocą klucza.
W plikku ~/.ssh/authorized_keys
umieszczamy swój klucz publiczny, w pliku można
umieścić kilka kluczy jeden klucz na linię.
touch ~/.ssh/authorized_keys chmod 0600 ~/.ssh/authorized_keys