Я думал об этом, и мой хостер предоставляет поддержку внешнего доступа, поэтому я мог бы просто создать отпечаток ключа вне диапазона и сравнить его при подключении к этому серверу из дома.
Есть ли другой способ, кроме внешнего доступа, с помощью которого можно проверить, действительно ли хост, к которому вы подключаетесь, является приобретенным вами сервером?
Как это делается на практике?
решение1
Если я правильно вас понял, вы спрашиваете, есть ли какие-либо средства ---кроме каналов вне диапазона ---для безопасного получения отпечатка открытого ключа вашего сервера ssh. Строго говоря, ответ должен бытьнет, поскольку теоретически человек-посередине (MITM) может настроить поддельный сервер ssh, который позволяет вам "войти" независимо от предоставленных вами учетных данных. Если бы вы заранее не знали отпечаток открытого ключа вашего настоящего сервера, у вас не было бы возможности узнать, что отпечаток поддельного сервера не является отпечатком вашего настоящего сервера.
На практике большинство людей полагают (и в большинстве случаев это оправданно), что вероятность того, что MITM действительно их подделает, очень мала, и поэтому они просто принимают отпечаток ключа сервера, представленный им при первом подключении, за отпечаток их настоящего SSH-сервера, а не поддельного.
Конечно, по мере того, как вы со временем будете делать много ssh-подключений к своему серверу, вероятность увидеть попытку MITM обмануть вас будет накапливаться. К счастью, для каждого соединения, которое вы делаете после первого, открытый ключ сервера будет храниться в вашем known_hosts
файле. И поэтому, если MITM когда-либоделаетпопытаться устроить некоторые махинации во время любой конкретной попытки подключения (послепервый), ваш ssh-клиент немедленно сообщит вам о том, что только что полученный ключ сервера не соответствует ожидаемому, и соединение будет прервано.
В заключение, если у вас есть внеполосные средства узнать ключ вашего сервера, то вы должны использовать их для проверки ключа, когда вы делаете это первое соединение, которое обновляет ваш known_hosts
файл. Но даже если у вас нет таких средств, хотя естьтеоретическийриск безопасности, риск, вероятно, очень мал.