Назад | Перейти на главную страницу

Понимание проблем с автоматическим входом в ssh и безопасностью

Я создал пару закрытых / общедоступных ключей ssh ​​(в Linux), и теперь они у меня .ssh папка.

Я скопировал свой ssh ​​id (ssh-copy-id) к удаленному компьютеру, к которому я хочу подключиться, не вводя постоянно свой ключ.

После копирования моего ssh id я смог подключиться к машине без ввода пароля, и я дважды проверил, в .ssh/authorized_keys, что единственный авторизованный открытый ключ - это тот, который я только что скопировал (и это нормально).

Однако я увидел две проблемы:

Первыйпо какой-то причине ssh-copy-id также скопировал мой закрытый ключ на эту машину. Я удалил его, потому что распространение вашего закрытого ключа на другие машины представляет собой большую безопасность. Это верно?

Второй, Я увидел, что мой открытый ключ теперь написан на .ssh/authorized_keys. Права доступа к этому файлу настроены так, что только мой пользователь может его прочитать (-rw-------). Тем не менее, если кому-то удалось получить доступ к этому контенту, он / она может получить доступ к моему удаленному компьютеру без пароля, это правильно? Я видел, что на моем локальном компьютере этот файл был сгенерирован с разрешениями, которые позволили бы любому другому пользователю (вошедшему в систему) читать его. Разве это не дыра в безопасности? Следует ли мне изменить разрешения, чтобы только мой пользователь мог читать содержимое файла?

ПоследнийКакой ключ на самом деле используется для идентификации моей личности при подключении к удаленному компьютеру, частному или общедоступному?

  1. ssh-copy-id должен был только скопировать открытый ключ в authorized_keys, он не должен был копировать ваш закрытый ключ. Вы уверены, что вы не копировали вручную что-либо еще на удаленный компьютер или вы также сгенерировали набор ключей на удаленном компьютере (с именами файлов по умолчанию)?
  2. Нет, только если кто-то может написать собственный открытый ключ к authorized_keys могут ли они получить доступ к этой машине, как и вы. Возможность читать этот файл не дает доступа к любому другому компьютеру.
  3. Обе. Ваш закрытый ключ используется для подписи вызова, представленного удаленным компьютером при попытке подключения, затем он проверяется на удаленном компьютере с помощью открытого ключа, чтобы доказать, что вызов был подписан именно вашим закрытым ключом.

Предлагаю вам посмотреть, как работает асимметричное шифрование.