Kuinka asettaa oikeat SSH-hakemiston käyttöoikeudet Linuxissa


Jotta SSH toimisi hyvin, se vaatii oikeat käyttöoikeudet hakemistossa ~/.ssh tai /home/username/.ssh: oletussijainti kaikille käyttäjäkohtaisille ssh-kokoonpanoille. ja todennustiedostot. Suositellut käyttöoikeudet ovat luku-/kirjoitus-/suoritusoikeudet käyttäjälle, eivätkä ne saa olla ryhmän tai muiden käytettävissä.

Lisäksi ssh edellyttää myös, että hakemiston tiedostoilla tulee olla käyttäjän luku-/kirjoitusoikeudet, eivätkä muut pääse niihin käsiksi. Muussa tapauksessa käyttäjä voi kohdata seuraavan virheen:

Authentication refused: bad ownership or modes for directory

Tämä opas selittää, kuinka oikeat käyttöoikeudet .ssh-hakemistoon ja siihen tallennettuihin tiedostoihin asetetaan Linux-järjestelmissä.

Aseta oikeat SSH-hakemiston käyttöoikeudet Linuxissa

Jos kohtaat yllä olevan virheen, voit määrittää oikeat ssh-hakemiston käyttöoikeudet .ssh-hakemistoon chmod-komennolla.

chmod u+rwx,go-rwx ~/.ssh
OR
chmod  0700 ~/.ssh

Tarkistaaksesi hakemiston ~/.ssh käyttöoikeudet, käytä ls-komentoa -l- ja -d-lippujen kanssa, kuten näin:

ls -ld .ssh/

Seuraavassa on joitain tiedostoja, jotka löydät ~/.ssh-hakemistosta:

  • yksityinen avaintiedosto (esim. id_rsa) – todentamisen yksityinen avain, joka sisältää erittäin arkaluontoista tietoa, joten sillä on oltava omistajan luku- ja kirjoitusoikeudet, eikä se ole käytettävissä. ryhmältä ja muilta, muuten ssh kieltäytyy muodostamasta yhteyttä.
  • julkinen avain (esim. .pub-tiedosto) – julkinen todentamisavain, joka sisältää myös arkaluontoisia tietoja, joten sillä pitäisi olla omistajan luku- ja kirjoitusoikeudet, vain luku -oikeus ryhmäkohtaisesti ja muilla.
  • authorized_keys – sisältää luettelon julkisista avaimista, joita voidaan käyttää kirjautumiseen tällä käyttäjänä. Se ei ole erityisen arkaluonteinen, mutta sillä pitäisi olla omistajan luku- ja kirjoitusoikeudet, eikä se ole ryhmien ja muiden käytettävissä.
  • known_hosts – tallentaa luettelon isäntäavaimista kaikista isännistä, joihin ssh-käyttäjä on kirjautunut. Sillä pitäisi olla omistajan luku- ja kirjoitusoikeudet, eivätkä ryhmät ja muut pääse siihen.
  • config – käyttäjäkohtainen määritystiedosto, jolla pitäisi olla omistajan luku- ja kirjoitusoikeudet, eikä se saa olla ryhmien ja muiden käytettävissä.

Oletuksena ~/.ssh-hakemiston tiedostot luodaan oikeilla käyttöoikeuksilla. Tarkista heidän käyttöoikeutensa suorittamalla seuraava komento kotihakemistossasi:

ls -l .ssh/ 

Jos ssh valittaa vääristä käyttöoikeuksista jollekin yllä olevista tiedostoista, voit asettaa oikeat oikeudet mille tahansa tiedostolle seuraavasti:

chmod u+rw,go-rwx .ssh/id_rsa
chmod u+rw,go-rwx .ssh/id_rsa.pub
chmod u+rw,go-rwx .ssh/authorized_keys
chmod u+rw,go-rwx .ssh/known_hosts
chmod u+rw,go-rwx .ssh/config
OR
chmod 600 .ssh/id_rsa
chmod 600 .ssh/id_rsa.pub
chmod 600 .ssh/authorized_keys
chmod 600 .ssh/known_hosts
chmod 600 .ssh/config

Lisäksi ryhmä tai muut eivät saa kirjoittaa käyttäjän kotihakemistoon, kuten seuraavassa kuvakaappauksessa näkyy.

ls -ld ~

Poistaaksesi kirjoitusoikeudet ryhmiltä ja muilta kotihakemistossa, suorita tämä komento:

chmod go-w ~
OR
chmod 755 ~

Saatat haluta lukea myös seuraavat SSH-aiheiset artikkelit:

  • Kuinka suojata ja vahvistaa OpenSSH-palvelin
  • 5 parasta OpenSSH-palvelimen parasta suojauskäytäntöä
  • Salasanattoman SSH-kirjautumisen määrittäminen Linuxissa [3 helppoa vaihetta]
  • Kuinka estää SSH Brute Force -hyökkäykset SSHGUARDin avulla
  • Portin koputuksen käyttäminen SSH-palvelun suojaamiseen Linuxissa
  • Kuinka vaihtaa SSH-portti Linuxissa

Siinä se toistaiseksi! Käytä alla olevaa kommenttiosiota esittääksesi kysymyksiä tai lisätäksesi ajatuksiasi tähän aiheeseen.