🐧 Как установить правильные права доступа к каталогам SSH на Linux |

🐧 Как установить правильные права доступа к каталогам SSH на Linux

Мануал

Для нормальной работы SSH необходимы правильные права доступа к каталогу ~/.ssh или /home/username/.ssh: место по умолчанию для всех файлов конфигурации и аутентификации ssh, специфичных для пользователя.

Рекомендуемые разрешения – чтение/запись/выполнение для пользователя, и они не должны быть доступны для группы и других.

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

В противном случае пользователь может столкнуться со следующей ошибкой:

Authentication refused: bad ownership or modes for directory

Это руководство объясняет, как установить правильные разрешения на каталог .ssh и файлы, хранящиеся в нем, в системах Linux.

Установка правильных пермишенов на каталог SSH в Linux

Если вы столкнулись с вышеописанной ошибкой, вы можете установить правильные разрешения на каталог .ssh с помощью команды chmod.

# chmod u+rwx,go-rwx ~/.ssh
или
# chmod  0700 ~/.ssh

Чтобы проверить права на каталог ~/.ssh, используйте команду ls с флагами -l и -d, как показано ниже:

# ls -ld .ssh/

Ниже перечислены некоторые из файлов, которые вы найдете в каталоге ~/.ssh:

  • private key file (например, id_rsa) – закрытый ключ для аутентификации, который содержит очень чувствительную информацию, поэтому он должен иметь права на чтение и запись для владельца и не быть доступным для группы и других, иначе ssh откажется подключаться.
  • public key (например, файл .pub) – открытый ключ для аутентификации, который также содержит конфиденциальную информацию, поэтому должен иметь права на чтение и запись для владельца, разрешение только на чтение для группы и других.
  • authorized_keys – содержит список открытых ключей, которые могут быть использованы для входа в систему в качестве данного пользователя. Он не является особо секретным, но должен иметь разрешения на чтение и запись для владельца и не быть доступным для группы и других.
  • known_hosts – хранит список ключей всех хостов, на которые входил пользователь по ssh. Он должен иметь права на чтение и запись для владельца и не должен быть доступен для групп и других пользователей.
  • config – файл конфигурации для каждого пользователя, должен иметь права на чтение и запись для владельца и не должен быть доступен для групп и других.

По умолчанию файлы в каталоге ~/.ssh создаются с установленными правильными правами.

Чтобы проверить права, выполните следующую команду в своем домашнем каталоге:

# ls -l .ssh/ 

Если ssh жалуется на неправильные права для любого из вышеперечисленных файлов, вы можете установить правильные разрешения для любого из файлов следующим образом:

# 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
или
# 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

Чтобы удалить разрешения на запись для группы и других в домашнем каталоге, выполните эту команду:

# chmod go-w ~
или
# chmod 755 ~

Возможно, вы также захотите прочитать следующие статьи, связанные с SSH:

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий