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