Рейтинг:1

Как получить или воссоздать файл удаления из каталога /etc/ssh

флаг kz

в /etc/ssh каталог существует следующего содержания:

модули sshd_config ssh_host_ecdsa_key ssh_host_ed25519_key ssh_host_rsa_key ssh_import_id
ssh_config sshd_config.ucf-dist ssh_host_ecdsa_key.pub ssh_host_ed25519_key.pub ssh_host_rsa_key.pub

Я вижу практически две категории:

  1. открытые/закрытые ключи
  2. файлы конфигурации

Если какой-либо из этих файлов для любой из этих категорий будет удален по ошибке.

Как этот файл может быть перегенерирован? Возможно?, Как? это в соответствии с каждой категорией (1 или 2)

флаг in
Если вы обеспокоены тем, что эти файлы могут быть удалены «по ошибке», я бы настоятельно посоветовал вам сделать одну из двух вещей: (1) иметь *действительно* хорошие резервные копии с автоматическим процессом, который выполняется регулярно (2) выполнять любые деструктивные операции, которые вы планируете. используя виртуальную машину *сначала*, затем запустите их в своей системе, убедившись, что ошибок не произошло. Я использую Linux с середины 90-х и не могу вспомнить ни одного случая, когда я что-то удалял в `/etc/ssh` "по ошибке"...помимо тех случаев, когда я уничтожал разделы с помощью плохо написанной команды `dd` ...
user535733 avatar
флаг cn
Старый ключ не может быть воссоздан (это лишило бы смысла аутентификацию на основе ключа). Вы должны создать новый ключ. «*удалено по ошибке*» — вот почему у вас есть резервные копии.
Manuel Jordan avatar
флаг kz
Я знаю, что `/etc/ssh` запрашивает пароль root/admin, но мне любопытно, существует ли способ воссоздать эти файлы (в основном о ключах) – в соответствии с `Вы должны создать новый ключ` возможно – что файлы сильно отличаются от каталога `.ssh`, поэтому я предполагаю, что другие команды вступают в действие
флаг in
Ключи должны быть уникальными, если они предназначены для какого-либо использования. Если бы человек мог их воссоздать, то шифрование было бы мифом.
Manuel Jordan avatar
флаг kz
Понял - а можно ли сгенерировать новые с новыми значениями? - в этом случае клиенты должны обновить свои файлы `known_hosts` в соответствии с новыми значениями (для нового подключения - как в первый раз, когда они получают отпечаток хоста) - Я прав?
user535733 avatar
флаг cn
Вы можете сгенерировать столько новых ключей, сколько захотите. Создание новых ключей тривиально. Будьте ясны, когда вы говорите «клиент»: клиент ssh имеет невоспроизводимый закрытый ключ. Сервер ssh имеет только открытый ключ. Клиент ssh должен передать новый открытый ключ (соответствующий новому закрытому ключу) на сервер ssh. Обычно для этого требуется помощь администратора, поскольку клиент ssh не может войти в систему, пока новый открытый ключ не будет установлен на сервере ssh. Это нетривиальная операция... если только вы не являетесь администратором ssh-сервера.
Manuel Jordan avatar
флаг kz
Да, о _client_ (`.ssh`), где я могу в любой момент сгенерировать пару ключей и отправить/поместить значение открытого ключа в файл `.ssh/authorized_keys` на сервере - но здесь пост о сервере , где в каталоге `/etc/ssh` находятся некоторые значения ключей, которые отправляются клиентам при их первом ssh-соединении — одно про отпечаток пальца (ECDSA), а другое копия открытого ключа сервера на `.ssh/known_hosts` в клиенте
user535733 avatar
флаг cn
Вы пытаетесь предотвратить предупреждение об отпечатке пальца на ssh-клиенте?
muru avatar
флаг us
Отвечает ли это на ваш вопрос? [Как восстановить файлы конфигурации?](https://askubuntu.com/questions/66533/how-can-i-restore-configuration-files) и https://askubuntu.com/questions/600584/error-could -not-load-host-key-when-try-to-recreate-ssh-host-keys
Рейтинг:3
флаг cn

В Ubuntu файлы конфигурации клиент/сервер OpenSSH:

  • /etc/ssh/sshd_config - конфигурационный файл SSH-сервера (демона). Дополнительные файлы конфигурации могут быть добавлены в каталог /etc/ssh/sshd_config.d/ и их расширения файлов должны быть .conf (они вызываются в начале /etc/ssh/sshd_config).

  • /etc/ssh/ssh_config - общесистемный файл конфигурации для SSH-клиента, настройки в этом файле применяются ко всем пользователям. Дополнительные файлы конфигурации могут быть добавлены в каталог /etc/ssh/ssh_config.d/ и их расширения файлов должны быть .conf (они вызываются в начале /etc/ssh/ssh_config).

  • ~/.ssh/config - персональный файл конфигурации для SSH-клиента. Этот файл находится в домашнем каталоге пользователя в специальном каталоге с именем .ssh. Сам каталог должен иметь приватные разрешения (700), и файлы внутри также должны быть приватными (600).

Публичные/закрытые ключи принадлежат пользователю, поэтому они приватные :) По умолчанию они находятся в каталоге пользователя. ~/.ssh.

В этом моем ответе в разделах 1 и 2 описано, как настроить аутентификацию SSH на основе ключа: https://askubuntu.com/a/986245/566421

Вот пример случая, когда ключи SSH находятся не в домашнем каталоге пользователя: https://askubuntu.com/a/882379/566421

Если вы хотите воссоздать каталог /etc/ssh вы можете очистить клиент и сервер OpenSSH, а затем переустановить их (но вам это может не понадобиться):

судо подходящее обновление
sudo apt purge openssh-client openssh-server
sudo rm -R /etc/ssh
sudo apt установить openssh-клиент openssh-сервер
Manuel Jordan avatar
флаг kz
Практически последний кажется более практичным - но, конечно, все клиенты должны быть обновлены с новыми ключами сервера - это для сценария для небольшой локальной сети.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.