Аутентификация отказалась: плохое владение или режимы для файла /var/git/.ssh/authorized_keys

РЕДАКТИРОВАТЬ

Решена проблема, описанная здесь (о режимах файлов в папке .ssh .

Но другая проблема сохраняется, поэтому я задаю новый вопрос:> Не удалось войти в систему с помощью ключа SSH-RSA

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

Пользователь git определяется следующим образом:

 # cat /etc/passwd | grep git git:x:1002:1002:,,,:/var/git:/bin/bash 

Итак, вы заметили, что это git-пользователь, поэтому его дом /var/git , он не в /home .

Теперь, ssh всегда запрашивает у меня пароль:

 $ ssh git@srv git@srv's password: 

Я проверил журналы:

 # tail -n 1 /var/log/auth.log [...] Authentication refused: bad ownership or modes for file /var/git/.ssh/authorized_keys 

Так authorized_keys как некоторая собственность или режим missconfiguration. Я не понимаю, потому что здесь есть конфиг для этого файла:

 # ls -l /var/git/.ssh/ | grep auth -rw-rw-r-- 1 git git 394 mai 22 17:39 authorized_keys 

И вот (на случай …) родительский .ssh dir:

 # ls -al /var/git/ | grep ssh drwxrwxr-x 2 git git 4096 mai 22 17:39 .ssh 

И каталог $HOME :

 # ls -l /var/ | grep git drwxr-xr-x 7 git git 4096 mai 27 10:49 git 

Поэтому владельцы всегда git , как группы владельцев. И файлы читаемы так, где может быть трюк?

3 Solutions collect form web for “Аутентификация отказалась: плохое владение или режимы для файла /var/git/.ssh/authorized_keys”

Проблема заключается в том, что права на файлы слишком открыты. Попробуйте настроить режим authorized_keys на 600 и .ssh на 700.

По соображениям паранойи директория .ssh и authorized_keys не должны записываться в группу. Я думаю, что мышление состоит в том, что пользователь должен быть единственным, у которого есть явный контроль над его / ее полномочиями. Я считаю, что обход для этого лежит на ACL. Другая работа – StrictModes=no настройка в файле конфигурации sshd. Но было бы слишком опасно сделать это ради одного пользователя.

PS ваш ls -l /var | grep git ls -l /var | grep git более сжато выполняется как ls -ld /var/git

Режим $HOME/.ssh должен быть 700, а authorized_keys должны быть прочитаны только владельцем, то есть режим 600:

 chmod u=rwx,g=,o= /var/git/.ssh chmod u=rw,g=,o= /var/git/.ssh/authorized_keys 

Что касается частного ключа, он должен быть доступен только для чтения и записи только владельцем:

 chmod u=rw,g=,o= /var/git/.ssh/id_?sa 
  • Как заставить sshd прослушивать два порта, но ограничивать один из них одним адресом источника?
  • sign_and_send_pubkey: сбой подписи: агент отказался от операции CentOS 7 только между определенными серверами
  • Как изменить тип сервиса хорошо определенных портов в SElinux (centOS 6.5)
  • CentOS 6.4: проблема SSH RSA, « == rsa-key-20140711 \ n не удалось"
  • Изменение сетевых настроек в зависимости от SSID
  • SSH: сброс соединения после простоя в течение некоторого времени
  • SFTP chroot jail / access на основе шаблона
  • Команда ssh неожиданно продолжается в другой системе после завершения ssh
  • iptables предотвращает соединение через ssh после изменения порта, несмотря на правило ACCEPT
  • Может использовать аутентификацию паролей с помощью SFTP, хотя «PasswordAuthentication no» в / etc / ssh / sshd_config
  • Может ли sshd ограничить конечные точки клиентского туннеля на localhost?
  • Linux и Unix - лучшая ОС в мире.