Разрешения файлов директории .ssh, закрытого и публичного ключей (private and public keys)
Если ваши права доступа к файлам директории .SSH были изменены (то есть id_rsa/config), тогда ssh просто игнорирует их использование из соображений безопасности или, в некоторых случаях, выдает ошибку типа:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Permissions XXXX for '/Users/username/.ssh/id_rsa' are too open. It is recommended that your private key files are NOT accessible by others. This private key will be ignored.
Чтобы исправить проблемы с разрешениями, для начала следует установить правильные разрешения на домашнюю директорию и директорию .ssh:
sudo chown -R пользователь:пользователь $HOME sudo chmod 750 $HOME sudo chmod -R 700 $HOME/.ssh
Это создает самые строгие разрешения для всех файлов в .ssh, которые удовлетворят требованиям SSH для этих файлов. Рекомендации и требования SSH (подчеркнуты) для отдельных файлов директории .ssh приведены ниже (со страницы руководства):
~/.ssh/id_rsa (или любой PRIV KEY — закрытый, первичный ключ) — Эти файлы содержат конфиденциальные данные и должны быть доступны для чтения пользователем, но не доступны для других (чтение/запись) — только 0600. Программа ssh будет просто игнорировать файл закрытого ключа, если он доступен другим.
sudo chmod 600 ~/.ssh/id_rsa
~/.ssh/config — из-за возможности злоупотребления этот файл должен иметь строгие разрешения: чтение/запись для пользователя и недоступность для других — достаточно установить 0644.
sudo chmod 644 ~/.ssh/config
~ /.ssh/authorized_keys — Этот файл не является высокочувствительным, но рекомендуемые разрешения для чтения и записи для пользователя и недоступны для других — 0644.
sudo chmod 644 ~/.ssh/authorized_keys
~ /.ssh/known_hosts — Этот файл не является высокочувствительным, но рекомендуемые разрешения для чтения и записи для пользователя и недоступны для других — 0644.
chmod 644 ~/.ssh/known_hosts
~/.ssh/ — Нет общего требования хранить все содержимое этого каталога в секрете, но рекомендуемые разрешения для чтения/записи/выполнения для пользователя и недоступны для других — достаточно 0700.
sudo chmod 700 ~/.ssh
~ / .ssh / id_rsa.pub (ИЛИ ЛЮБОЙ ОТКРЫТЫЙ КЛЮЧ) — Эти файлы не являются конфиденциальными и могут (но не обязательно) быть доступными для чтения любому.
/etc/hosts — он должен быть доступен для записи только пользователю root