Назад | Перейти на главную страницу

Добавление ключа ssh приводит к сообщению «Соединение закрыто».

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

Когда я добавляю свой открытый ключ на свой сервер, создавая .svn и authorized_keys, когда я удаляю его, я могу снова войти в систему (с запросом пароля).

Не уверен, что еще делать, но я попытался создать rsa ssh-keygen -t rsa. Не знаю, что еще делать. Спасибо, парни

Самая распространенная проблема при настройке входа без пароля с помощью SSH - получение разрешений вашего .ssh каталог и authorized_keys файлы неправильные. SSH суетливо относится к разрешениям - не без оснований; неправильные разрешения могут поставить под угрозу вашу безопасность.

Разрешения должны быть как минимум такими:

$ ls -la .ssh
total 28
drwx------ 2 user group  4096 2011-10-05 16:08 .
drwxr-xr-x 4 user group  4096 2012-04-03 12:16 ..
-rw------- 1 user group   405 2011-10-05 16:08 authorized_keys
-rw-r--r-- 1 user group 15912 2012-03-24 10:17 known_hosts

Вы можете добиться этого с помощью:

chmod 700 .ssh
chmod 600 .ssh/authorized_keys

Вторая по частоте ошибка - орфография. authorised_keys правильно и SSH игнорирует файл, потому что он был написан американцами.

Сообщения об ошибках для разрешений появляются на сервере, в журналах, а не на клиенте, поэтому их может быть сложно найти.

Я также столкнулся с проблемой, когда мой открытый ключ был разделен на две строки в .ssh/authorized_keys. Поскольку разделение происходит точно в конце строки, это неочевидно. Такой редактор, как vi позволяет легко сказать. Изменение размера окна терминала также должно привести к его повторному обтеканию и четкому отображению любых разделенных линий.

Я предположил, ты имел в виду .ssh в вашем вопросе, а не .svn. Если бы вы действительно создали .svn каталог, вам нужно будет изменить его на ssh.

Твой вопрос сложно разобрать, но я не знаю, что, по твоему мнению, ".svn" выполнит.

Ваш открытый ключ должен быть добавлен в ~ /.ssh/ authorized_keys в удаленной системе.

man ssh для подробностей.

Просто установите пароль пользователя на '*' - это предотвратит вход по имени пользователя и паролю.