Как заставить работать логин без пароля

12

Я сгенерировал ключ и скопировал его в свою цель:

ssh-keygen
ssh-copy-id username@hostname

Я оставил расположение ключа по умолчанию и не установил пароль.

Некоторое время после этого я смог ssh username@hostnameбез запроса пароля, а затем он перестал работать по какой-то причине.

tshepang
источник
2
См. Unix.stackexchange.com/tags/ssh/info… Давайте сделаем это справочным вопросом, который мы можем закрыть как дубликат других.
Жиль "ТАК - перестань быть злым"

Ответы:

8

Если аутентификация с открытым ключом не работает: убедитесь, что на стороне сервера, ваш домашний каталог ( ~), ~/.sshкаталог и ~/.ssh/authorized_keysфайл доступны для записи только их владельцу . В частности, ни один из них не должен быть доступен для записи группе (даже если пользователь в группе один). chmod 755или chmod 700в порядке, chmod 770нет.

Что проверить, если что-то не так:

  • Запустите, ssh -vvvчтобы увидеть много отладочной информации. Если вы отправляете вопрос, спрашивающий, почему вы не можете соединиться с ssh, включите этот вывод (вы можете захотеть анонимизировать имена хостов и пользователей).
  • Если вы не можете проверить журналы сервера, как правило , в /var/log/daemon.logили /var/log/auth.logили подобных.
  • Если аутентификация с открытым ключом не работает, проверьте разрешения еще раз, особенно бит группы (см. Выше).
Жиль "ТАК - перестань быть злым"
источник
Привет, почему группа authorized_keysне должна писать для записи? SSH отклоняет это из-за проблем безопасности?
Привет,
1
@YdobEmos Любой, кто может писать, authorized_keysможет добавить свой собственный ключ и таким образом войти в учетную запись. Таким образом, только пользователь должен быть разрешен. (Наличие файла, доступного для записи в группе, на самом деле безопасно, если в этой группе нет других пользователей, но трудно надежно определить, когда членство в группах может происходить из сетевых баз данных.)
Жиль: «Так, перестань быть злым»
1

Домашний каталог цели был 755 drwxr-xr-x. Изменение его на групповую запись 775 drwxrwxr-xнарушило настройку без пароля.

tshepang
источник
Та же проблема еще не решила.
Вы имеете в виду, что вы не можете получить работу без входа в систему без пароля, даже после того, как каталог будет доступен для записи в группе?
чепанг
ДА - см. Unix.stackexchange.com/q/208152/11085 , 64-разрядная версия CentOS 7, где я пытаюсь войти в систему с помощью ключей id_rsa, но это всегда не удается.
0

Убедившись в правильности разрешений, повторно отправьте ключи, они все еще не работают.

Потом я наткнулся на это, чего раньше не делал и не видел никого упоминания.

Невозможно использовать -o allow_other с sshfs (опция включена в fuse.conf)

После включения я запустил мои команды sshfs без sudo, и все заработало отлично.

user6294230
источник
0

Предполагая RHEL / CentOS, и предполагая, что у вас есть доступ администратора к удаленному серверу, на который пользователь newuserхочет подключиться по ssh.

Получить newuser'sсуществующее id_rsa.pubи иметь готовый.

Следуйте шагам:

useradd newuser
mkdir /home/newuser/.ssh
vi /home/newuser/.ssh/authorized_keys
# copy newuser's id_rsa.pub into authorized_keys and save
chmod 640 /home/newuser/.ssh/authorized_keys
chmod 700 /home/newuser/.ssh/
chmod 700 /home/newuser/
chown newuser:newuser -R /home/newuser/

Попробуйте newuserвойти.

кодер
источник