35

Недавно я купил ноутбук, с которого мне нужно получить доступ к тем же удаленным хостам, что и с моего рабочего стола. Мне пришло в голову, что можно просто скопировать файл секретного ключа со своего рабочего стола на мой ноутбук и избежать необходимости добавлять новый ключ в файлы ~/.ssh/authorized_keys на всех хостах, к которым я хочу получить доступ. Итак, мои вопросы:

  1. Это вообще возможно?
  2. Есть ли неочевидные последствия для безопасности?
  3. Иногда я захожу на рабочий стол с моего ноутбука. Если бы использовался тот же ключ, это вызвало бы какие-либо проблемы?

2 ответа2

29

Да, это возможно. Ваш закрытый ключ не привязан ни к одной машине.

Не уверен, что вы подразумеваете под неочевидным, это часто субъективно;). Совсем неплохо, если вы убедитесь, что у вас очень сильный набор паролей, по крайней мере, 20 символов.

Нет проблем с подключением с помощью того же ключа, что и на рабочем столе. Я бы настроил агент ssh для вашего ключа на ноутбуке и перенаправил его на рабочий стол, чтобы вы использовали этот ключ в других системах, к которым у вас есть доступ.

Со страницы руководства ssh-agent в системе Linux:

ssh-agent - это программа для хранения закрытых ключей, используемая для аутентификации с открытым ключом (RSA, DSA). Идея состоит в том, что ssh-agent запускается в начале сеанса X или сеанса входа в систему, а все другие окна или программы запускаются как клиенты для программы ssh-agent. Благодаря использованию переменных среды агент может быть найден и автоматически использован для аутентификации при входе на другие машины с использованием ssh (1).

Вы можете запустить это на своем ноутбуке, либо с помощью программы ssh-agent в Linux/Unix (поставляется с OpenSSH), либо с агентом puTTY, если вы используете Windows. Вам не нужен агент, работающий на каких-либо удаленных системах, он просто хранит ваш закрытый ключ в памяти локальной системы, поэтому вам нужно всего лишь один раз ввести ключевую фразу, чтобы загрузить ключ в агент.

Переадресация агента - это функция клиента ssh (ssh или putty), которая просто перенаправляет агент в другие системы через соединение ssh.

9

Раньше я использовал один закрытый ключ на всех своих машинах (и на некоторых из них я только пользователь, а не администратор), но недавно изменил это. Он работает с одним ключом, но означает, что если вам нужно отозвать ключ (если он скомпрометирован), вам нужно будет изменить его на всех машинах.

Конечно, если злоумышленник получит доступ и сможет подключиться по ssh к другой машине, он сможет получить ключ от этой машины и так далее. Но мне стало немного безопаснее узнать, что я могу отозвать только один ключ и заблокировать эту машину. Это означает, что мне нужно удалить ключ из файла author_keys.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .