У меня вопрос по беспарольному ssh с одной домашней папкой.
Я создал общую учетную запись /home/developers и несколько пользователей (developerA,developerB ...). Всем разработчикам была делегирована одна и та же домашняя папка (/home/developers).
Как разработчик A на его машине я сделал следующее:
- ssh-keygen -t rsa -f разработчикA -C[email protected]
- (на сервере). добавил .pub в файл сервера /home/developers/.ssh/authorized_keys
- ssh разработчикA@myServer -i разработчикA
Я думаю, что проблема связана с разрешениями, поскольку файл authorized_keys принадлежит разработчикам (-rw------- 1 разработчики разработчики 2033 11 нояб. 22:55 authorized_keys )
Есть ли у кого-нибудь решение этой проблемы или как реализовать многопользовательский SSH без пароля, не создавая домашнюю папку для каждого из них?
Спасибо заранее, ребята.
решение1
У вас только один пользователь. Так что это не проблема нескольких пользователей. Убедитесь, что каталог .ssh имеет режим 700.
Однако вы все равно делаете это неправильно. Вам следует создать разных пользователей для каждого разработчика и поместить их в общую группу. Если им нужно работать над одними и теми же файлами, вы делаете их доступными для записи их общей группой и помещаете их в каталог с установленным флагом "set group ID", так что все, что они туда запишут, будет принадлежать этой группе.
решение2
Раз он спросил, значит, у него есть на то причины. Вот несколько идей:
- Убедитесь, что строка вашего открытого ключа не перенесена. Она должна быть на одной непрерывной строке в authorized_keys.
- Для authorized_keys должны быть установлены права rw-rr (644).
- Проверьте права доступа для ~/.ssh. Должно быть rwx-- (700).
- Также убедитесь, что /etc/ssh/sshd_config содержит «PubkeyAuthentication yes».
решение3
По моему опыту, ssh очень щепетильно относится к правам доступа к файлам и каталогам. Файл authorized_keys должен быть 'rw-r--r--', а содержащий его каталог .ssh также должен быть доступен всем (но не доступен для записи всем). Это означает словарь .ssh и полный путь к каталогу, ведущий к нему.
Если вы не сделаете этого правильно, вход в систему с обменом ключами будет невозможен.
Майк
решение4
@joebob все правильно понял! Еще несколько деталей (обратите внимание на его последнюю строчку)
Отэта почтавы можете видеть, что SSH откажется использовать .ssh
папку в домашнем каталоге, который является общим. В моем случае, глядя на /var/log/messages
я вижу:
10 марта 09:57:13 sshd[32249]: Аутентификация отклонена: неверный владелец или режимы для каталога /home/
На указанном сайте есть два решения этой проблемы:
Исправить разрешения
chmod g-w /home/your_user chmod 700 /home/your_user/.ssh chmod 600 /home/your_user/.ssh/authorized_keys
Установите
StrictModes off
в свой/etc/ssh/ssh_config
(не рекомендуется)
К сожалению, я работаю на серийном компьютере и не могу протестировать ни одно из решений...Я также ищу третий вариант.если это возможно, так как из-за настроек нашей команды я не могу изменить права доступа к домашнему каталогу... (плохая модель - я знаю)