Mikä on SSH-avainpari?

SSH-avainpari on joukko kahta kryptografista avainta, joita käytetään käyttäjän todentamiseen etäpalvelimelle ilman salasanaa. Pari koostuu yksityisestä avaimesta, joka pidetään salassa käyttäjän koneella, ja julkisesta avaimesta, joka sijoitetaan etäpalvelimelle. Yhteyttä muodostettaessa palvelin haastaa asiakkaan todistamaan yksityisen avaimen hallussapitoa — ilman että yksityinen avain koskaan lähetetään. Tämä epäsymmetrinen lähestymistapa on merkittävästi turvallisempi kuin salasanapohjaisessa todentamisessa, koska ei ole jaettua salaisuutta, joka voitaisiin siepata tai murtaa väkivalloin.

SSH-avainparit luodaan julkisen avaimen kryptografian algoritmeilla. Yleisimmin käytetyt ovat Ed25519, moderni elliptisen käyrän algoritmi, joka tunnetaan pienestä avainkoosta ja korkeasta turvallisuudesta, ja RSA, aikakestävä algoritmi, joka perustuu suurten kokonaislukujen tekijöihin jakamisen vaikeuteen. Ed25519 on suositeltava uusille avaimille sen paremman suorituskyvyn ja sivukanavahyökkäyksille vastustuskyvyn vuoksi.

Työkalun kuvaus

SSH-avainparin generaattori luo kryptografisesti turvallisia Ed25519- tai RSA SSH-avainpareja suoraan selaimessasi Web Crypto API:n avulla. Mitään tietoja ei lähetetä palvelimelle — kaikki avainmateriaali luodaan paikallisesti laitteellasi. Voit halutessasi lisätä kommentin (tyypillisesti user@hostname) avaimesi tunnistamiseksi myöhemmin. Luodut julkiset ja yksityiset avaimet voidaan kopioida leikepöydälle tai ladata tiedostoiksi, valmiina käytettäväksi ssh-copy-id:n tai minkä tahansa SSH-asiakkaan kanssa.

Esimerkit

Ed25519-julkinen avain

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl user@hostname

RSA-julkinen avain (4096-bittinen)

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC2... user@hostname

Yksityinen avain (OpenSSH-muoto)

-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAAB...
-----END OPENSSH PRIVATE KEY-----

Ominaisuudet

  • Ed25519- ja RSA-tuki: Valitse modernin elliptisen käyrän algoritmin tai klassisen RSA-algoritmin välillä
  • RSA-avainten koon vaihtoehdot: Valitse 2048, 3072 tai 4096-bittisiä RSA-avaimia turvallisuuden ja suorituskyvyn tasapainottamiseksi
  • Valinnainen kommenttikenttä: Liitä user@hostname-tyylinen kommentti avaimesi tunnistamiseksi koneiden välillä
  • Asiakaspuolen generointi: Avaimet luodaan kokonaan selaimessasi Web Crypto API:n avulla — mitään ei lähetetä tai tallenneta
  • Yhden klikkauksen lataus: Tallenna julkiset ja yksityiset avaintiedostot suoraan oikeilla tiedostonimillä (id_ed25519, id_ed25519.pub, id_rsa, id_rsa.pub)

Käyttötapaukset

  • Palvelimen käyttöoikeuksien määritys: Luo avainpari kerran ja ota julkinen avain käyttöön mihin tahansa etäisiin Linux/Unix-palvelimiin ~/.ssh/authorized_keys-tiedoston kautta salasanattoman SSH-kirjautumisen mahdollistamiseksi
  • Git-isännöinnin todentaminen: Lisää julkinen avain GitHubiin, GitLabiin tai Bitbucketiin git push- ja git pull-toimintojen todentamiseksi ilman tunnistetietojen syöttämistä joka kerta
  • CI/CD-putket: Luo erillinen käyttöönottavainpari automatisoituille skripteille tai rakennusagenteille, jotka tarvitsevat SSH-pääsyn palvelimille tai yksityisiin säilöihin

Kuinka se toimii

Avainten generointi käyttää selaimen sisäänrakennettua crypto.subtle API:a (Web Crypto). Ed25519:lle raa'at 32-tavuinen yksityinen skalaari ja 32-tavuinen julkinen avain pakataan OpenSSH-johdotusmuotoon (openssh-key-v1). RSA:lle avain viedään PKCS#8 DER -muodossa ja kääritään vakioon PEM-kirjekuoreen. Julkisen avaimen blob koodataan SSH-johdotusmuodossa (pituudella etuliitteinen algoritmin nimi, jota seuraa avainmateriaali) ja Base64-koodataan, vastaten OpenSSH:n authorized_keys-tiedoston odottamaa muotoa.

Vinkkejä

  • Lataamisen jälkeen aseta oikeat käyttöoikeudet yksityisen avaintiedostolle: chmod 600 ~/.ssh/id_ed25519. SSH kieltäytyy käyttämästä yksityistä avainta, joka on luettavissa muille käyttäjille.
  • Käytä Ed25519:ää, ellei tarvitse yhteensopivuutta vanhempien järjestelmien kanssa, jotka eivät sitä tue. Se tuottaa lyhyempiä avaimia ja on nopeampi kuin RSA.
  • Kommenttikenttä ei vaikuta avaimen kryptografiseen vahvuuteen — se on puhtaasti ihmisen tunnistamista varten ja voidaan muuttaa myöhemmin ssh-keygen -c:llä.
  • Maksimaalisen RSA-yhteensopivuuden saavuttamiseksi vanhojen palvelimien kanssa käytä 4096-bittisiä avaimia. Nykyaikaisille palvelimille Ed25519 on suositeltava riippumatta RSA-avainten koosta.