Ваш открытый ключ просто открытый. Совершенно безопасно поделиться этим. Отправка вашего открытого ключа кому-то может выдать вашу личность (люди могут знать, что это от вас, потому что это уникальный номер), но он никогда не позволит кому-то другому выдать себя за вас или подтвердить свою подлинность. Вы также можете опубликовать свой открытый ключ в SuperUser или на своей веб-странице по обычному HTTP; это совершенно безопасно и совершенно бесполезно, если у кого-то нет вашего личного ключа.
Ваш личный ключ просто личный. Он находится только в тех системах, которым вы владеете и которым доверяете (надеюсь), и всегда должен быть зашифрован паролем разблокировки для максимальной безопасности на случай, если кто-то получит физический доступ к системе, в которой он хранится. Закрытый ключ никогда не передается какой-либо должным образом реализованной программой безопасности, которая ведет себя в соответствии с правилами криптографии с открытым ключом. То есть, если в вашей локальной системе нет программы, которая скомпрометирована и способна считывать ваш закрытый ключ (и закрытый ключ не шифруется паролем), ваш закрытый ключ всегда безопасен.
Сообщения подписываются секретным ключом на вашем компьютере перед отправкой на удаленный сервер. Таким образом, вместо отправки закрытого ключа на удаленный сервер, вы отправляете сообщение, которое было зашифровано с помощью закрытого ключа. Но эти две вещи не одинаковы: вы не можете получить закрытый ключ из подписанного сообщения; это часть криптографии с открытым ключом.
Короче говоря, даже если злоумышленник получит ваш открытый ключ и получит сообщения, подписанные вашим закрытым ключом, он все равно не сможет получить ваш фактический закрытый ключ и, следовательно, он не сможет выдать себя за ваши учетные данные или использовать ваш закрытый ключ для аутентификации «как вы".
Я понимаю процесс шифрования с открытым ключом, но был сбит с толку отладочным сообщением, отправленным ssh. Ответ от @ pjc50, кажется, обеспечивает гарантию, которую я искал.
Гурджит Сингх
11
Вы неправильно понимаете процесс.
Ключ не отправляется, скорее «вызов» создается путем шифрования чего-либо с открытым ключом, который может быть расшифрован только с помощью соответствующего закрытого ключа.
Если вас спросят о вашем пароле или вы перенаправите X на скомпрометированный сервер, тогда существует потенциальная угроза безопасности.
Спасибо. ssh также debug1: Offering RSA public key: <$HOME>/.ssh/id_rsaотправляет это сообщение, что наводит на мысль, что закрытый ключ используется совместно, хотя id_rsa.pub уже был предоставлен.
Гурджит Сингх
Публичный ключ, хорошо публичный. Вы можете дать это любому. Это дает им возможность шифровать сообщения. Закрытый ключ - это то, что позволяет вам расшифровывать сообщения. Пока вы держите свой секретный ключ при себе, вы в порядке.
ssh
. Ответ от @ pjc50, кажется, обеспечивает гарантию, которую я искал.Вы неправильно понимаете процесс.
Ключ не отправляется, скорее «вызов» создается путем шифрования чего-либо с открытым ключом, который может быть расшифрован только с помощью соответствующего закрытого ключа.
Если вас спросят о вашем пароле или вы перенаправите X на скомпрометированный сервер, тогда существует потенциальная угроза безопасности.
источник
debug1: Offering RSA public key: <$HOME>/.ssh/id_rsa
отправляет это сообщение, что наводит на мысль, что закрытый ключ используется совместно, хотя id_rsa.pub уже был предоставлен.