Pull to refresh

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. Далее после входа на сервер:

  1. Создаёте пользователя и добавляете его в группу sudo. Также полезно сразу указать пользователю оболочку /bin/bash

  2. Задаёте пароль для пользователя

  3. Загружаете свой ключ под вашим пользователем.

  4. Проверяете, что можете войти без пароля и можете переключиться на root через sudo.

  5. Ели всё нормально, запрещаете доступ к ssh от пользователя root и с использованием парольной аутентификации.

В случае проблем с доступом, можно воспользоваться панелью правления и доступом к консоли сервера (VNC и др.). Она же спасёт, если накосячите что-то с настройкой сети.

Встречался также вариант, что есть какой-то предустановленный пользователь.

Также был вариант, когда можно в панели управления сразу загрузить свой ключ. В этом случае можно получить доступ без пароля к root или другому пользователю.

Спасибо за советы. Попробую это всё.

Через ssh root@host не подключается.

Толко через ssh имя@host

После того как с одним сервером не получилось, я арендовал другой, в другим месте, но результат одинаковый. На моменте ввода пароля всё заканчивается неудачей, пароль не подходит

У IHC дан рутовый пароль, но в настройках ssh рут заблокирован.

Нужно через VNC добавить пользователя в систему, отредактировать файл настроек ssh, и перезапустить sshd.

Пароль к VNC - отдельный.

Спасибо за совет.

Действительно смог решить проблему зайдя через VNC и поменяв пароль для пользователя root.

Попало ко всему прочему потребовался vpn

Еще бы добавить пункт про рукопожатие по ключам , там есть интересные моменты , и можно в закладки тогда.

А есть решения, как централизовано управлять всеми ключами? Например, уволился сотрудник, нужно удалить все его открытые ключи со всех серверов. Как это всë отслеживать и учитывать?

А есть решения, как централизовано управлять всеми ключами? Например, уволился сотрудник, нужно удалить все его открытые ключи со всех серверов. Как это всë отслеживать и учитывать?

LDAP и иже с ними

вариантов масса
LDAP, если у вас он применяется, полностью покрывает эту задачу
Ansible если у вас он применяется тоже
здесь надо исходить из того что у вас управляет серверами и аутентификацией на них

А можно как-то поднять обратный сокс-прокси? Чтобы на удаленной машине подключаться и ходить через локальную? Понятно что можно поднять что то у себя и пробросить через ssh -R [bind_address:]port:host:hostport user@host.

Но хотелось бы совсем без лишних телодвижений...

Добавь еще в статью про опции -X и -Y утилиты ssh - наиболее полезное для начинающих

Sign up to leave a comment.

Articles