Усилия на ложном пути множат заблуждения (Ф. Бэкон).

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

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

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

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

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

  1. Открытый и закрытый  ключи ( id_rsa и id_rsa.pub).
  2. Файл Known_hosts — содержит открытые ключи всех удаленных систем.
  3. Конфигурационный файл конфигурации клиента

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

$ touch ~/.ssh/config

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

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

$ ssh andreyex@192.168.2.103  -p 22

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

Читать  Как я могу зайти с помощью sudo пользователя без пароля?

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

Host staging-server
HostName 192.168.2.103
User andreyex
Port 22

 

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

$ ssh staging-server

 

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

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

$ ls -la ~/.ssh/config

 

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

-rw-rw-r--

ПРИМЕЧАНИЕ:

Как правило, никогда не назначайте разрешения на запись другим пользователям. Это создает угрозу безопасности вашего файла, и другие пользователи, которые не являются вами или вашей группой, могут изменять содержимое файла. Назначение разрешений на запись приведет к ошибке ‘Bad owner or permissions’, как показано ниже.

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

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

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

Читать  Как установить и использовать AIDE в Ubuntu 22.04

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

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

 

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

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

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

$ ssh staging-server

 

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
Если статья понравилась, то поделитесь ей в социальных сетях:

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Это может быть вам интересно


Загрузка...

Спасибо!

Теперь редакторы в курсе.

Scroll to Top