Аутентификация отказалась: плохое владение или режимы для файла /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 
  • Как использовать ssh через http или https?
  • Расположение ключа SSHD
  • Тюрьма в chroot в debian 7.5 - Проблема разделения привилегий
  • Нужно ли запускать sshd-сервер в привилегии root для входа без пароля?
  • SSHD Password Feedback (Показать звездочки для персонажей)
  • SSH publickey работает для root, но не для пользователя
  • Sshd_config TPCKeepAlive по-прежнему использует незашифрованный канал и, следовательно, уязвим
  • Служба sshd не запускается: Centos 6.5
  • Почему sshd не заботится о том, чтобы пользователь не владел своим домашним каталогом, когда у их имени нет пароля?
  • Всякий раз, когда ansible вносит изменения в sshd в CentOS7, случайная игра в будущее не может подключаться
  • Почему sshd смотрит на несуществующий файл открытого ключа?
  • Linux и Unix - лучшая ОС в мире.