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.