Indstilling af korrekte .ssh/config -tilladelser

Setting Proper Ssh Config Permissions



SSH -protokollen er en sikker protokol, der normalt bruges til at oprette forbindelse til eksterne enheder såsom servere og netværksenheder, herunder routere og switches. Det fungerer i en klient-server opsætning og lytter som standard på port 22 (selvom dette kan ændres efter behov). SSH anvender forskellige kryptering og hash -teknikker for at sikre, at kommunikationen mellem klienten og den eksterne vært er krypteret og sikker for aflytning.

SSH -filer gemmes i .ssh folder. Dette er en skjult mappe, der findes i hjemmemappen. Det .ssh bibliotek er ikke oprettet som standard; den oprettes, når du opretter forbindelse til en ekstern vært eller bruger ssh-keygen kommando til at generere de private og offentlige godkendelsesnøgler, som når du vil opsæt adgangskodeløs ssh -godkendelse.







Det .ssh folder. indeholder vigtige SSH -filer, såsom:



  1. Offentlige og private nøgler ( id_rsa og id_rsa.pub ).
  2. Det kendte_værter fil - Indeholder offentlige nøgler til alle de fjernsystemer, du har tilsluttet.
  3. Det konfiguration klientkonfigurationsfil

Hvis konfiguration fil findes ikke, kan du nemt oprette en som vist.



$ touch ~/.ssh/config

.Ssh/config klientkonfigurationsfilen

Hver gang du starter en SSH -forbindelse, skal du angive detaljer såsom IP -adresse eller domænenavn og den port, SSH lytter til. For eksempel,

$ ssh [email protected] -p 22

Det kan være hektisk altid at skulle huske sådanne detaljer. Og det er her ~/.ssh/config filen kommer ind ~/.ssh/config fil er en konfigurationsfil, der giver dig mulighed for at konfigurere konfigurationsoplysninger pr. bruger for den eksterne vært. Det sparer dig for smerterne ved altid at skulle huske de per-host-detaljer, der kræves for forbindelse.

En prøvekonfigurationsfil vises som vist.

Host staging-server
Værtsnavn 192.168.2.103
Bruger james
Port 22

En simpel SSH -kommando i den eksterne vært ville se således ud:

$ ssh staging-server

.Ssh/config -filtilladelserne

Som standard er ~/.ssh/config klientkonfigurationsfil besidder 644 filtilladelser. Du kan bekræfte, at ved hjælp af ls -la kommando som følger.

$ ls -la ~ / .ssh / config

Dette indebærer, at ejeren og gruppen af ​​filen både har læse- og skrivetilladelser (rw), mens andre brugere kun har læsetilladelser (r).

-rw-rw-r--

BEMÆRK:

Som en tommelfingerregel må du aldrig tildele skrivetilladelser til andre brugere. Dette udgør en sikkerhedsrisiko for din fil, og andre brugere, der ikke er dig selv eller i din gruppe, kan ændre filens indhold. Tildeling af skrivetilladelser resulterer i ' Dårlig ejer eller tilladelser 'Fejl som angivet nedenfor.

Her fik konfigurationsfilen tilladelserne 666. Dette indebærer, at alle både kan læse og skrive filen.

Tilsvarende gælder den samme sag her, hvor filen er blevet tildelt 777 tilladelser. Dette indebærer, at alle kan læse, skrive og eksekvere filen. Kort sagt, alle har alle rettigheder til den potentielt farlige fil.

Bedste praksis anbefaler, at du lader standardtilladelserne stå ved 664 eller 600, hvor kun ejeren har læse- og skrivetilladelser (rw). På denne måde forbliver filen sikker fra at blive ændret af uautoriserede brugere.

Sørg desuden for, at du ejer filen. Hvis filen ændres til en anden bruger, vil SSH ikke kunne løse det værtsnavn, der findes i konfigurationsfilen.

I eksemplet herunder viser ~/.ssh/config ejerskab er sat til bob: bob.

For at løse dette problem vendte jeg tilbage til det oprindelige filejerskab ved hjælp af chown kommando.

$ sudo chown james: james ~/.ssh/config

Med filtilladelserne tilbageført, nu kan jeg få adgang ved at påberåbe SSH -kommandoen efterfulgt af det værtsnavn, der er angivet i konfigurationsfilen.

$ ssh staging-server

Og det er alt, hvad du behøver at vide om indstilling af tilladelser til ~/.ssh/config fil. Sørg for, at du ikke angiver læsetilladelser til resten af ​​brugerne, og sørg for, at du ejer filen.