Linux - статьи

Использование дополнительных аргументов команды ssh


Если вам необходимо использовать какие-нибудь аргументы команды ssh при установлении SSH-соединения, например, -p portnum или -l remoteusername, убедитесь в том, что вы указали их в командной строке. Мы предполагаем, что на этом этапе никакие другие аргументы вам не понадобятся. Позже в этой главе мы покажем, как можно внести эти дополнительные аргументы в .ssh/config, чтобы их не нужно было вводить каждый раз.

Теперь вам необходимо проверить, что хостовый ключ сервера, который вы только что приняли вслепую, в действительности представляет собой ключ сервера и вы не подверглись при этом атаке типа «кто-то посередине» (man-in-the-middle). Если этого не сделать, нельзя будет проверить, что удаленный конец SSH-соединения аутентичен. Например, программа Dsniff, написанная Dug Song, вполне может осуществить атаку. Риск весьма реален.

Когда вы ввели слово yes, хостовый ключ сервера был сохранен в файле $HOME/.ssh/known_hosts. Элементы этого файла – это строки чисел и/или букв, похожие на публичный ключ идентификатора. Вот, например, хостовый ключ RSA1: sshvpn@falcons-client$ head -1 $HOME/.ssh/known_hosts

server.example.com 1024 35 1564497847169651600945933582396946558133150606031.....

Нужно проверить, действительно ли этот ключ соответствует публичному ключу сервера. Публичный ключ сервера обычно содержится в одном из следующих файлов: /etc/ssh/ssh_host_key.pub /etc/ssh/ssh_host_rsa_key.pub /etc/ssh/ssh_host_dsa_key.pub

Эти файлы могут располагаться в /etc, а не в /etc/ssh. Это зависит от того, как программное обеспечение SSH-сервера было скомпилировано дистрибутивом Linux. Найдите ключ, соответствующий вашему файлу $HOME/.ssh/known_hosts и убедитесь что они в точности одинаковы. Если они отличаются, происходит что-то подозрительное, и ваша VPN небезопасна.



Содержание раздела