Задаване на подходящи .ssh/config разрешения

Setting Proper Ssh Config Permissions



Протоколът SSH е защитен протокол, който обикновено се използва за свързване с отдалечени устройства като сървъри и мрежови устройства, включително рутери и комутатори. Той работи в настройка клиент-сървър и по подразбиране слуша на порт 22 (въпреки че това може да се промени, когато е необходимо). SSH използва различни техники за криптиране и хеширане, за да гарантира, че комуникацията между клиента и отдалечения хост е криптирана и безопасна от подслушване.

SSH файловете се съхраняват в .ssh папка. Това е скрита папка, която се намира в домашната директория. The .ssh директория не е създадена по подразбиране; създава се, когато инициирате връзка с отдалечен хост или използвате ssh-keygen команда за генериране на частни и публични ключове за удостоверяване, когато искате настройте ssh удостоверяване без парола.







The .ssh папка. съдържа основни SSH файлове като:



  1. Публични и частни ключове ( id_rsa и id_rsa.pub ).
  2. The известни_хостове файл - Съдържа публични ключове на всички отдалечени системи, към които сте се свързали.
  3. The config клиентски конфигурационен файл

Ако config файлът не съществува, можете лесно да го създадете, както е показано.



$ touch ~/.ssh/config

Конфигурационният файл на клиента .ssh/config

Всеки път, когато инициирате SSH връзка, трябва да посочите подробности като IP адреса или името на домейна и порта, който SSH слуша. Например,

$ ssh [защитен имейл] -p 22

Може да е забързано винаги да помните такива подробности. И тук е мястото ~/.ssh/config файлът идва ~/.ssh/config file е конфигурационен файл, който ви позволява да конфигурирате подробности за потребителската конфигурация на отдалечения хост. Това ви спестява агонията винаги да се налага да припомняте подробностите за хоста, необходими за връзка.

Примерен конфигурационен файл се появява, както е показано.

Хост staging-сървър
HostName 192.168.2.103
Потребител Джеймс
Порт 22

Една проста SSH команда към отдалечения хост ще изглежда така:

$ ssh staging-сървър

Разрешенията за .ssh/config файла

По подразбиране, ~/.ssh/config клиентският конфигурационен файл притежава 644 разрешения за файлове. Можете да проверите дали с помощта на ls -la команда, както следва.

$ ls -la ~ / .ssh / config

Това означава, че собственикът и групата на файла имат разрешения за четене и запис (rw), докато други потребители имат разрешения само за четене (r).

-rw-rw-r--

ЗАБЕЛЕЖКА:

Като общо правило, никога не присвоявайте разрешения за запис на други потребители. Това представлява риск за сигурността на вашия файл и други потребители, които не са вие или във вашата група, могат да променят съдържанието на файла. Присвояването на разрешения за запис ще доведе до „ Лош собственик или разрешения Грешка, както е посочено по -долу.

Тук на конфигурационния файл бяха предоставени разрешенията 666. Това означава, че всеки може да чете и пише файла.

По същия начин, същият случай се прилага и тук, когато на файла са присвоени 777 разрешения. Това означава, че всеки може да чете, пише и изпълнява файла. Просто казано, всеки има всички права върху потенциално опасния файл.

Най -добрата практика препоръчва да оставите разрешенията по подразбиране на 664 или 600, където само собственикът има разрешения за четене и запис (rw). По този начин файлът остава в безопасност от промяна от неоторизирани потребители.

Освен това се уверете, че притежавате файла. Ако файлът се промени на друг потребител, SSH няма да може да разреши името на хоста, предоставено в конфигурационния файл.

В примера по -долу, ~/.ssh/config собствеността е настроена на bob: bob.

За да разреша този проблем, се върнах към първоначалното притежание на файл с помощта на чаун команда.

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

С отменените разрешения за файлове сега мога да получа достъп, като извикам командата SSH, последвана от името на хоста, посочено в конфигурационния файл.

$ ssh staging-сървър

И това е всичко, което трябва да знаете за задаването на разрешения за ~/.ssh/config файл. Уверете се, че не задавате разрешения за четене на останалите потребители и се уверете, че притежавате файла.