Когда именно SSH-агент использует мой private_key для подключения к удаленному серверу?

Если ваш BIOS и процессор поддерживают его, тогда да. Я бы предложил использовать hardinfo для проверки возможностей вашего процессора. Однако вам лучше использовать 64-битную ОС в качестве хоста.

Даже если процессор поддерживает VTx, ваш BIOS не может (многие ноутбуки HP, например, не позволяют вам включить это), поэтому вам нужно узнайте, поддерживает ли ваша BIOS.

1
задан 17 March 2017 в 11:44

3 ответа

Позвольте мне попытаться объяснить это на примере. Предположим, я доверяю вам и хочу, чтобы вы с SSH на моем компьютере и что-то сделали. Я могу сказать вам свой пароль, или вы можете дать мне свой открытый ключ.

Если вы дадите мне свой открытый ключ, когда вы попытаетесь войти в мой компьютер, ваш клиент SSH будет использовать ваш закрытый ключ для генерации зашифрованного запроса на аутентификацию в конце и отправки его на мой компьютер. Мой компьютер будет использовать ваш открытый ключ для дешифрования зашифрованного запроса на аутентификацию и, таким образом, подтвердить, что вы, а не кто-то другой, пытающийся проникнуть в мой компьютер.

Примечание. Пара секретно-открытого ключа не используется для шифрования передачи между двумя компьютерами. Поэтому, когда соединение установлено, ключи не нужны до тех пор, пока соединение не будет завершено и не будет предпринято новое соединение. У SSH есть своя внутренняя система шифрования данных, которая не зависит от пары private-public key.

Итак, приняв ваш открытый ключ, я доверял вам войти на свой компьютер. Если вы когда-нибудь потеряете мое доверие, я удалю ваш открытый ключ с моего компьютера. Тогда вы больше не сможете SSH на свой компьютер.

Если вы дадите свой секретный ключ кому-то другому (или если кто-то его украдет), тогда этот человек сможет притвориться вам. Если я узнаю, что вы предоставили свой секретный ключ кому-то другому, я удалю ваш открытый ключ с моего компьютера. Тогда ни вы, ни другой человек не сможете SSH на моем компьютере.

Открытый ключ, который вы мне дали, бесполезен, если я пытаюсь подключиться к SSH на вашем компьютере, так как это полезно только для дешифрования информации, которую вы генерируете с помощью вашего личного ключа. Если вы хотите, чтобы я был на SSH на вашем компьютере, вам нужно будет поместить свой открытый ключ в нужное место на вашем компьютере.

Ubuntu хранит ваши личные ключи в программном обеспечении для управления паролями под названием Password and Encryption Keys: 7]

Обратите внимание, средняя вкладка Мои личные ключи.

Подробнее о менеджере паролей Seahorse.

Надеюсь, что это поможет

.

Надеюсь, что это поможет

3
ответ дан 24 May 2018 в 12:59
  • 1
    Спасибо! Теория, которую я понимаю, но никто не может объяснить мне, почему соединение ssh все еще успешно существует, когда я даже удаляю закрытый ключ от моего клиента ( – Timur Fayzrakhmanov 15 January 2014 в 23:57
  • 2
    Гм! Большое спасибо, это действительно полезный ответ! Интересно ... У сервера Ubuntu есть одно и то же программное обеспечение для управления паролями или нет? – Timur Fayzrakhmanov 16 January 2014 в 00:25
  • 3
    Я не уверен в сервере. Поскольку у сервера нет графического интерфейса по умолчанию, я сомневаюсь. – user68186 16 January 2014 в 00:30
  • 4
    Кроме того, ключи используются для аутентификации, а не для шифрования канала соединения. Если вы удалите все свои ключи, вы не сможете снова аутентифицироваться, но существующие соединения все равно будут работать. – Rmano 16 January 2014 в 01:00
  • 5
    Хорошая точка @ Rmano. Я отредактирую свой ответ. – user68186 16 January 2014 в 01:02

Вы не должны вручную «использовать» свой секретный ключ. Публичная / частная криптография основана на использовании двух ключей, один из которых является общедоступным, а другой - на вашем компьютере, частный.

Всякий раз, когда кто-то должен отправлять вам зашифрованное сообщение, или вам нужно использовать аутентификация, как и SSH, будет использовать открытый ключ для шифрования данных. Когда вы получите данные, единственный ключ, который может их расшифровать, является частным.

Подумайте об этом, как будто у вас есть два ключа: все, что заблокировано одним ключом, можно разблокировать только с помощью противоположного. Так что не удаляйте свой закрытый ключ, потому что это сделает общественность бесполезной.

Если вы хотите узнать больше, вы можете проверить эту ссылку в Википедии, у нее есть хорошее объяснение асимметричного шифрования ключей. 3]

1
ответ дан 24 May 2018 в 12:59
  • 1
    спасибо за ответ, но могу ли я разорвать соединение с удаленным, удалив свой закрытый ключ? – Timur Fayzrakhmanov 15 January 2014 в 21:44
  • 2
    Я хочу получить более конкретный ответ с точными путями и файлами, которые используются для создания SSH-соединения. – Timur Fayzrakhmanov 15 January 2014 в 21:49

Вы имеете в виду, что вы удалили секретный ключ на сервере? Если это так, то используется только при sshing FROM с этого сервера. Это не повлияет на sshing TO на этом сервере.

0
ответ дан 24 May 2018 в 12:59

Другие вопросы по тегам:

Похожие вопросы: