Comments 21
Явно укажем, что аутентификацию нужно делать по ключам, отключим аутентификацию по паролю, запретим вход пользователю
root
:
PubkeyAuthentication yes
PasswordAuthentication no
PermitRootLogin no
Этого недостаточно. Надо еще запретить KbdInteractiveAuthentication так через него тоже запрашивается пароль.
Да, действительно. Надо подробнее изучить вопрос. Однако указанный вами ключ в Ubuntu 22.04 LTS и Fedora 39 имеет значение no. В Ubuntu это задано прямо в sshd_config, а в Fedora в sshd_config.d (правда там используется старое имя параметра).
Это где как. Во FreeBSD, например, изначально KbdInteractiveAuthentication=yes а PasswordAuthentication=no.
Однако указанный вами ключ в Ubuntu 22.04 LTS и Fedora 39 имеет значение no.
Явное лучше неявного. У меня на прошлой неделе на LFCS экзамене как раз было одно задание - разрешить одному пользователю использовать как раз интерактивную аутентификацию
Как уже было сказано ранее, свой публичный ключ лучше защитить паролем
Точно публичный? Не приватный?
Хорошая статья. Только начинаю вникать в это. Столкнулся со сложностью, подскажите как быть.
Арендовал сервер. Получил логин и пароль. Подключился к серверу через ssh, сервер запрашивает пароль. Ввожу, который прислали, а он не подходит.
Что делать?
Написать в тамошний саппорт.
Чаще всего мне встречался вариант, когда дают доступ через пользователя root. Т.е. подключаться нужно ssh root@host. Далее после входа на сервер:
Создаёте пользователя и добавляете его в группу sudo. Также полезно сразу указать пользователю оболочку /bin/bash
Задаёте пароль для пользователя
Загружаете свой ключ под вашим пользователем.
Проверяете, что можете войти без пароля и можете переключиться на root через sudo.
Ели всё нормально, запрещаете доступ к ssh от пользователя root и с использованием парольной аутентификации.
В случае проблем с доступом, можно воспользоваться панелью правления и доступом к консоли сервера (VNC и др.). Она же спасёт, если накосячите что-то с настройкой сети.
Встречался также вариант, что есть какой-то предустановленный пользователь.
Также был вариант, когда можно в панели управления сразу загрузить свой ключ. В этом случае можно получить доступ без пароля к root или другому пользователю.
Спасибо за советы. Попробую это всё.
Через ssh root@host не подключается.
Толко через ssh имя@host
После того как с одним сервером не получилось, я арендовал другой, в другим месте, но результат одинаковый. На моменте ввода пароля всё заканчивается неудачей, пароль не подходит
Пробовать другой ssh-клиент (например, PuTTY), ну и проверить раскладку, конечно.
У IHC дан рутовый пароль, но в настройках ssh рут заблокирован.
Нужно через VNC добавить пользователя в систему, отредактировать файл настроек ssh, и перезапустить sshd.
Пароль к VNC - отдельный.
Еще бы добавить пункт про рукопожатие по ключам , там есть интересные моменты , и можно в закладки тогда.
А есть решения, как централизовано управлять всеми ключами? Например, уволился сотрудник, нужно удалить все его открытые ключи со всех серверов. Как это всë отслеживать и учитывать?
А есть решения, как централизовано управлять всеми ключами? Например, уволился сотрудник, нужно удалить все его открытые ключи со всех серверов. Как это всë отслеживать и учитывать?
LDAP и иже с ними
вариантов масса
LDAP, если у вас он применяется, полностью покрывает эту задачу
Ansible если у вас он применяется тоже
здесь надо исходить из того что у вас управляет серверами и аутентификацией на них
А можно как-то поднять обратный сокс-прокси? Чтобы на удаленной машине подключаться и ходить через локальную? Понятно что можно поднять что то у себя и пробросить через ssh -R [bind_address:]port:host:hostport user@host.
Но хотелось бы совсем без лишних телодвижений...
Добавь еще в статью про опции -X и -Y утилиты ssh - наиболее полезное для начинающих
Рекомендую обратить внимание на вот эту статью https://habr.com/ru/articles/122445/ и комментарии к ней
Знакомство с SSH