С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
FreeBSD
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/14: Рейтинг темы: голосов - 14, средняя оценка - 4.71
cod88
0 / 0 / 0
Регистрация: 05.12.2012
Сообщений: 60
1

Вход через SSH с использованием ключей

17.12.2012, 13:48. Просмотров 2554. Ответов 10
Метки нет (Все метки)

К сожалению с FreeBSD работаю 2-й день, даже не знаю относится ли она к Линукс
ну так вот.
Надо по SSH зайти на сервер FreeBSD, на котором отключен вход по логину/паролю через SSH.
Зайти надо с использованием ключей.
Я ключи сделал.
Надо войти под пользователем user1. Я поместил открытый ключ в ~/.ssh/authorized_keys. Приватный ключ сохранил у себя на компе. Использую putty, указал её использовать приватный ключ.. Ну короче всё как написано в 1000 и одном руководстве, которые я перечитал.
Пытаюсь законнектиться и, после ввода имени пользователя user1, получаю в консоли: "Server refused our key"
ошибку в Putty: "No supported authentification methods available (server sent: publickey)"

Что примечательно!
Есть другой пользователь (user2). Ему также в ~/.ssh/authorized_keys положен тот же самый ключ, и приват такой же. Если при входе вводить его имя то ключ принимается и просит ввести Passphrase. Я её не знаю, поэтому дальше не ходил, но критический то момент пройден, то есть ключ принят.

Таким образом, имеем ситуацию когда с одним и тем же ключом один пользователь входит, другой нет.

В чём дело, подскажите пожалуйста, ато я мозг сломаю совсем.


-Права на файл проверил, ставил и 600 и 777 без разницы.
-Пользователь user1 в той же группе что и user2.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.12.2012, 13:48
Ответы с готовыми решениями:

ssh доступ с использованием rsa ключей
Привет всем Есть вопрос Настраиваю ssh доступ с иползованием rsa ключей с...

Управление vds через ssh
Добрый вечер. Не ругайте если ошибся разделом... Ребят... Вот приобрел я vds у...

FreeBSD: SSH через web морду
Всем здравия и благополучия. В моей конторе открыт 80 и 443 порты, поэтому...

Запуск процесса через удаленный доступ (SSH)
Я являюсь администратором сервера Counter-Strike:Source. Сервер находится у...

Доступ по ssh и генерация ключей через cpanel
Здравствуйте! Помогите пожалуйста разобраться с доступом на хостинг по SSH....

10
odip
Эксперт С++
7164 / 3222 / 77
Регистрация: 17.06.2009
Сообщений: 14,160
17.12.2012, 15:30 2
Права на файл проверил, ставил и 600 и 777 без разницы.
600 надо
И права на каталог тоже

Добавлено через 2 минуты
А ты с какого компьютера пытаешься подключиться ?
С Linux или с Windows ?

Пытаюсь законнектиться и, после ввода имени пользователя user1, получаю в консоли
Надо на сервере логи смотреть - там может быть заблокирован вход user1 в настройках сервера sshd или через настройки самого ~user1/.ssh/

Добавлено через 5 минут
Если при входе вводить его имя то ключ принимается и просит ввести Passphrase. Я её не знаю, поэтому дальше не ходил, но критический то момент пройден, то есть ключ принят.
Не факт что принят
Вообще приватный ключ должен лежать на клиенте
На удаленном сервере должен лежать публичный ключ в файле ~/.ssh/authorized_keys
При этом в момент авторизации уже по идее никаких паролей не должно быть - иначе как удаленный сервер проверит ключ ?

Обычно делается не так
Генерируется приватный ключ, защищается паролем
Потом запускается pageant - он поднимает в память приватный ключ (спрашивает пароль)
Потом этот приватный ключ все время в памяти до перезагрузки компа
Запускается putty и подключается к удаленному серверу
Так как приватный ключ в памяти и доступен, то авторизация проходит

Добавлено через 2 минуты
Надо по SSH зайти на сервер FreeBSD, на котором отключен вход по логину/паролю через SSH.
Как именно отключен ?
Возможно ошибочно отключено вообще все
Я ключи сделал
Опять же - каким способом ?
0
cod88
0 / 0 / 0
Регистрация: 05.12.2012
Сообщений: 60
18.12.2012, 11:38  [ТС] 3
Odip, спасибо за ответ.
Правда то что ты написал я перепробовал

Проблему решил. На случай если у кого-то повторится отпишусь.

Права на файл и папку конечно важны но для того чтобы работало главное чтобы использующий их пользователь мог их читать. 600 выставляется с целью безопасности. Говорю это на основании того, что всё изменение прав нв 777 не нарушает работу механизма.

Важно чтобы владельцем папки .ssh был сам пользователь. Вот без этого мне в логах auth.log писало ошибку.

Я заходил на сервер с FreeBSD с рабочей станции WinXP используя putty. Ключи генерировал в puttygen. Клал что надо и куда надо.

Решение проблемы состояло в том, что я сгенерировал ключ в самой FreeBSD, а потом перетащил приватный ключ на рабочую станцию. В puttygen открыл его, программа его тут же сконвертировала в понятный ей формат, затем сохранил (Save Privatkey) и подсунул его в putty.
Генерация ключа на сервере производится командой ssh-keygen -t rsa (тип RSA остальное по умолчанию).

В общем проблема была в том, что по сгенерированные в puttygen ключи не удовлетворяли сервер.
0
odip
Эксперт С++
7164 / 3222 / 77
Регистрация: 17.06.2009
Сообщений: 14,160
18.12.2012, 17:46 4
Важно чтобы владельцем папки .ssh был сам пользователь.
Разумеется
Все эти правила безопасности описаны в ssh
В общем проблема была в том, что по сгенерированные в puttygen ключи не удовлетворяли сервер.
Интересно - а почему я делаю в puttygen ключи и они работают на FreeBSD ?
0
cod88
0 / 0 / 0
Регистрация: 05.12.2012
Сообщений: 60
18.12.2012, 19:20  [ТС] 5
Цитата Сообщение от odip Посмотреть сообщение
Интересно - а почему я делаю в puttygen ключи и они работают на FreeBSD ?
Это, действительно, очень интересный вопрос. Особенно если учесть, что, если верить другим сотрудникам, до меня человек который занимался этим сервером делал ключи именно в путти и все делали их в путти.
Но даже если взять ключ другого пользователя и поместить к себе в authorized_keys и использовать его приватный ключ то на моём пользователе возникает ошибка, хотя у другого все работает.

В логах auth.log пишет что-то вроде "Failed public key..."

В качестве возможных причин я предположил:
- что ключ в ssh регистрируется или даже генерируется с привязкой к пользователю (возможно раньше их генерировали не в путтиген, а путтиген запомнилось потому что там меняли формат файла ключа;
- что где-то всё же был косяк с правами;
0
odip
Эксперт С++
7164 / 3222 / 77
Регистрация: 17.06.2009
Сообщений: 14,160
18.12.2012, 22:13 6
- что ключ в ssh регистрируется или даже генерируется с привязкой к пользователю (возможно раньше их генерировали не в путтиген, а путтиген запомнилось потому что там меняли формат файла ключа;
Это бред
Ключ генерируется в puttygen под Windows
Откуда он вообще знает какой там пользователь в FreeBSD (или Linux) будет ?

Единственная разница - в файл на FreeBSD/Linux нужно класть текст в специальном формате (который понимает sshd на FreeBSD/Linux
Впрочем puttgen текст в нужном виде предоставляет

Добавлено через 1 минуту
И кстати в puttgen нужно генерировать ключ типа SSH-2 RSA
( это соответствует -t rsa )

Добавлено через 1 минуту
что где-то всё же был косяк с правами;
ну так кто мешает тебе посмотреть тебе где ты накосячил с правами ?
0
cod88
0 / 0 / 0
Регистрация: 05.12.2012
Сообщений: 60
19.12.2012, 06:30  [ТС] 7
Цитата Сообщение от odip Посмотреть сообщение
ну так кто мешает тебе посмотреть тебе где ты накосячил с правами ?
А что там смотреть?
Папка .ssh : владелец user1/wheel, права 600/755/777/644.
Файл authorizedkey: владелец user1/wheel, права 600/755/777/644. (то есть права я устанавливал разные)
Где и что ещё смотреть с правами?
0
odip
Эксперт С++
7164 / 3222 / 77
Регистрация: 17.06.2009
Сообщений: 14,160
19.12.2012, 20:05 8
Пользователь под которым заходишь - у него какой uid/gid ?

Папка .ssh : владелец user1/wheel, права 600/755/777/644
Учитывая что у этой папки права должны быть 700 то вообщем правильный вариант не попробовал

Файл authorizedkey: владелец user1/wheel, права 600/755/777/644. (то есть права я устанавливал разные)
Жесть
Во-первых файл называется authorized_keys
Во-вторых правильные права должны быть 600
0
cod88
0 / 0 / 0
Регистрация: 05.12.2012
Сообщений: 60
20.12.2012, 14:02  [ТС] 9
Всё же я склонен думать, что "правильные" права играют роль только с точки зрения безопасности. Для того, чтобы работало достаточно, чтобы у пользователя были права на чтение. То есть 6хх и тем более 7хх удовлетворяет требованиям.
В подтверждение этому то обстоятельство, что у других пользователей права на эти файлы 644 и 755, и при этом всё работает.
Да и тот ключ который сейчас работает у меня не с правами 600
0
odip
Эксперт С++
7164 / 3222 / 77
Регистрация: 17.06.2009
Сообщений: 14,160
20.12.2012, 20:41 10
Всё же я склонен думать, что "правильные" права играют роль только с точки зрения безопасности. Для того, чтобы работало достаточно, чтобы у пользователя были права на чтение.
Ты можешь думать что угодно
Но вот конкретно sshd проверяет безопасность и не работает если ему что-то нравится
Да и тот ключ который сейчас работает у меня не с правами 600
Ну так твой косяк
0
g_u_e_s_t
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
26.12.2012, 10:37 11
StrictModes off и sshd забудет про права, но нафига так делать???
0
26.12.2012, 10:37
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.12.2012, 10:37

Вход на сервер по SSH
Необходимо зайти на сервер по ssh и выполнить команду. Но никак не могу...

Редактирование кода по ssh с использованием Atom (Sublime Text, etc)
Добрый день! Есть ли возможность (встроенный способ, плагин) в Atom или в...

Вход в систему с через командную строку или через консольное приложение
Можно ли как войти в систему Windows с помощью командной строки? Есть команда...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru