Возможно ли / хорошая практика использовать один и тот же закрытый ключ для двух серверов для входа без пароля с одного и того же рабочего места / локального сервера?
У меня есть два веб-сайта. Один веб-сайт является клоном другого веб-сайта. Когда я проверил sshd_config
на обоих сайтах, они точно подобны, за исключением того, что в качестве идентификатора используется Known_keys
а другой использует Known_keys
в качестве идентификатора, я надеюсь, что это не проблема, так как путь определен соответственно, указывая местоположение и файл Имя открытого ключа.
Мне интересно, почему я не могу войти в систему с тем же личным ключом того же самого компьютера, открытый ключ которого находится на обоих серверах.
Мне не хватает информации? Или это невозможно?
- Легкий способ передачи закрытого ключа на другой компьютер?
- Использование ожидается, чтобы передать пароль в ssh
- Нажатие моей подсказки PS1 по ssh
- Linux удаляет папки старше 1 года и более 3 файлов
- Требуется шифр 'aes256-cbc', но он недоступен
- Почему ssh X перенаправляет таймаут через некоторое время?
- Как перезагрузить состояние сеанса SSH?
- Как удалить парольные фразы ключей SSH из памяти Mac OS?
- Переключаемые ключи GPG и SSH?
- Монтирование SSH / SFTP на Windows 7
- Удаленный доступ emacs к моему основному компьютеру
- «Взаимодействие с пользователем не разрешено», пытаясь подписать приложение OSX с использованием кода
- Как получить ключи F1-F12 для переключения экранов на экране gnu в cygwin при подключении через SSH?
Этот вопрос на самом деле три отдельных вопроса.
Вопрос 1:
Можно ли использовать ту же пару ключей для доступа SSH к двум или более серверам?
Ответ 1:
Да, возможно, многие люди (самостоятельно включенные) делают это регулярно. Нет причин, по которым это было бы ограничено одним сервером. Мы предполагаем, что вы говорите о клиентских ключах, а не сертификатах сервера. Клиентская ключевая пара аутентифицирует клиента , то есть машину, пытающуюся получить доступ к сеансу SSH. Вы можете наиболее определенно повторно использовать свою клиентскую пару ключей, и один сервер не будет более мудрено, что ваша keypair используется на других серверах.
Вопрос 2:
Рекомендуется ли использовать ту же ключевую пару для доступа SSH к двум или более серверам?
Ответ 2:
Зависит от того, кого вы спрашиваете, и насколько строго ваш план безопасности. Добавлены риски использования одной и той же пары ключей для двух или более удаленных хостов. Эти риски выше и выше номинальных рисков использования ключевой пары вообще для одного хоста.
Любой, кто получает ваш личный ключ (а также кодовую фразу личного ключа, если применимо), сможет получить доступ ко всем системам, которые аутентифицируются вашим личным ключом. Затем эта проблема переходит к злоумышленнику, зная имена хостов всех серверов, на которые аутентифицирован ваш личный ключ, и учетные записи пользователей на каждом из этих хостов, которые считают ваш открытый ключ авторизованным ключом. Это увеличивает потенциальный урон, который может быть нанесен в случае кражи вашего закрытого ключа.
Обратите внимание, что это не риск проверки подлинности, если кто-то получает только ваш открытый ключ: для вас все равно, вы можете также разместить свой открытый ключ SSH на своей домашней странице. Вы можете даже спокойно опубликовать его здесь, в своем вопросе, только для пинков и хихиканья, без каких-либо последствий для безопасности. Это называется общественностью по какой-то причине.
Если у вас есть основания подозревать, что ваш секретный ключ абсолютно безопасен, и вы опасаетесь, что ущерб будет значительно больше, если обе системы будут скомпрометированы, тогда вы можете создать два секретных ключа. Но если вы храните оба закрытых ключа в одной и той же системе, и у них либо нет фразы, одна и та же кодовая фраза или сами фреймы хранятся где-то (лист бумаги, LastPass и т. Д.) В одном и том же месте, а затем два отдельных Keypairs фактически не добавляет никакой безопасности. Но если вы используете полное шифрование диска и имеете хорошо защищенную клиентскую систему, тогда риск того, что ваш закрытый ключ и кодовая фраза украдены будут относительно низкими.
Кстати, если вы используете секретные ключи без каких-либо паролей, то вам лучше не делать ничего, что стоит нескольких долларов на ваших системах. Если вы занимаетесь каким-либо официальным коммерческим, коммерческим или иным образом, на мой взгляд, абсолютно необходимо использовать сильный уникальный пароль, который нигде не записывается для закрытого ключа, который получает доступ к любой системе ценностей. Если вы имеете дело с личной информацией клиентов (номера кредитных карт и т. Д.), Сделайте это «абсолютно необходимым» там в 72 pt шрифте и в 10 раз смелее. Если вы имеете дело с государственной секретной информацией, сделайте это «абсолютно необходимым» в шрифте 5000 pt и в 5000 раз смелее.
Вопрос 3:
Почему моя аутентификация с открытым ключом не работает?
Ответ 3:
Это зависит от конкретной настройки. Вы не дали нам никаких конкретных подробностей о том, почему это не работает. Нам нужны особенности. Сообщения об ошибках, подробные журналы (но не указывайте пароли и имена пользователей и IP-адреса!), А также список программного обеспечения и версий, которые вы используете как для SSH-клиента, так и для SSH-сервера, а также для операционной системы и версии обеих систем.
Однако я сильно подозреваю, что одна из причин, почему он не работает, заключается в том, что вы используете неправильный файл в одной из систем. known_keys
не для аутентификации с открытым ключом; Это клиент SSH (клиент, на котором known_keys
файл known_keys
), для кэширования открытых ключей серверов, к которым он подключается. Вы должны использовать authorized_keys
в обеих системах. (Престижность другому человеку, отвечающему на ваш вопрос, чтобы опубликовать этот факт за несколько секунд до меня :))
known_keys
и authorized_keys
– это совершенно разные вещи.
Файл authorized_keys
– это то место, где вы должны поместить открытые ключи, которые соответствуют закрытым ключам, которые вы собираетесь использовать для доступа к серверу. Он должен находиться на серверах, в которые вы хотите попасть.
known_keys
– это файл, в котором хранятся отпечатки пальцев удаленных серверов, поэтому вы знаете, что если вы снова попробуете подключиться, это действительно тот сервер, который вы ожидаете. То есть для предотвращения атак типа «человек-в-середине», когда кто-то может подменять имя хоста или IP-адрес удаленного сервера, чтобы украсть информацию, которую вы могли бы предоставить, считая, что вы подключены к правильному. Этот файл автоматически создается или обновляется, когда вы пытаетесь подключиться где-то новым, поэтому обратите внимание, что это связано с работой SSH как с клиентом . Если вы видите этот файл на своем сервере, вы, вероятно, пытаетесь подключиться к нему в другом месте.