Установка правильных разрешений .ssh / config

Setting Proper Ssh Config Permissions



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

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







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



  1. Открытые и закрытые ключи ( id_rsa и id_rsa.pub ).
  2. В known_hosts файл - содержит открытые ключи всех удаленных систем, к которым вы подключились.
  3. В config файл конфигурации клиента

Если config файл не существует, вы можете легко создать его, как показано.



$ touch ~ / .ssh / config

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

Каждый раз, когда вы инициируете SSH-соединение, вам необходимо указывать такие детали, как IP-адрес или имя домена, а также порт, который SSH прослушивает. Например,

$ ssh [адрес электронной почты защищен] -p 22

Всегда может быть беспокойно помнить о таких деталях. И вот где ~ / .ssh / config файл входит. ~ / .ssh / config file - это файл конфигурации, который позволяет вам настраивать детали конфигурации удаленного хоста для каждого пользователя. Это избавляет вас от мучительной необходимости постоянно вспоминать детали каждого хоста, необходимые для подключения.

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

Хостинг-сервер
Имя хоста 192.168.2.103
Пользователь james
Порт 22

Простая команда SSH для удаленного хоста будет выглядеть следующим образом:

Промежуточный сервер $ ssh

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

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

$ ls -la ~ / .ssh / config

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

-rw-rw-r--

ЗАМЕТКА:

Как правило, никогда не назначайте разрешения на запись другим пользователям. Это создает угрозу безопасности вашего файла, и другие пользователи, которые не являются вами или вашей группой, могут изменять содержимое файла. Назначение разрешений на запись приведет к ' Плохой владелец или разрешения 'Ошибка, как указано ниже.

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

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

Передовой опыт рекомендует оставить разрешения по умолчанию на 664 или 600, где только владелец имеет права на чтение и запись (rw). Таким образом, файл не будет изменен неавторизованными пользователями.

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

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

Чтобы решить эту проблему, я вернулся к исходному владению файлом, используя Chown команда.

$ sudo chown james: Джеймс ~ / .ssh / config

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

Промежуточный сервер $ ssh

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