Использование ssh
Автор: © Matteo Dell'Omodarme
|
При каждом заходе telnet-ом на удаленную машину, все данные соединения передаются по сети, давая возможность потенциальному взломщику отслеживать соединение и, по большому счету, вставлять несанкционированные команды в поток данных. Применeние некоторых мощных систем шифрования позволит значительно усилить защиту сети. Из man ssh мы можем узнать что: "Ssh (Secure Shell) - программа для регистрации на удаленной машине и выполнения команд на ней. Предназначена заменить rlogin и rsh, и обеспечить безопасную шифрованную связь между двумя компьютерам по незащищенной сети. Соединения X11 и произвольные TCP/IP порты могут также быть перенаправлены по защищенному каналу". Это мощная, очень удобная в работе программа, которая использует сильное шифрование для защиты всех передаваемых конфиденциальных данных, включая пароли. В настоящее время существуют два SSH протокола, SSH2 и SSH1, первый является усовершенствованием SSH1. SSH2, помимо двойного шифрованного обмена ключами RSA, поддерживает и другие методы. Текущий дистрибутив поставляется со схемой обмена ключами Diffie-Hellman, имеет поддержку DSA и других алгоритмов открытых ключей. SSH2 может быть совместим с SSH1, но не совместим по умолчанию; SSH2 сервер один не может управлять SSH1 соединением, требуется еще и SSH1 сервер, чтобы сделать это.
Получение и установка SSH Вы можете получить SSH2 и SSH1 клиентов и серверы с master FTP server, или его зеркал. Последняя версия SSH1 протокола - ssh-1.2.30.tar.gz, в то время как для SSH2 ssh-2.3.0.tar.gz Установка действительно проста. Первый шаг - распакуйте исходники: tar -zxf ssh-1.2.30.tar.gz Это создаст каталог ssh-1.2.30. Теперь войдите в этот каталог, и запустите процесс конфигурации: сd ssh-1.2.30 ./configure. Скрипт configure выполнит всю необходимую конфигурацию, поиск в системе требуемых библиотек и программ. Когда скрипт закончит свою работу, выполните : make После успешного завершения войдите супер-пользователем и установите бинарные, конфигурационные файлы и файл hostkey выполнив: make install Это установит клиентов (scp1, ssh-add1, ssh-agent1, ssh-askpass1, ssh-keygen1, ssh1) в /usr/local/bin, и сервер (sshd1) в /usr/local/sbin. Обратите внимание, что, в /usr/local/bin имеется также символическая ссылка на реально исполняемые программы. Следующим шагом установим SSH2. Действия те же, что и для SSH1: tar -zxf ssh-2.3.0.tar.gz cd ssh-2.3.0 ./configure makeи как супер-пользователь: make install
Совместимость SSH1 - SSH2 В дальнейшем мы предполагаем, что SSH1 и SSH2 установлены. Ssh1Compatibility yes Sshd1Path /usr/local/sbin/sshd1 Измените путь на реальный, куда установили sshd1. В этой конфигурации sshd2 сервер перенаправит запросы от SSH1 клиента к sshd1. Теперь добавьте строки к файлу ssh2_config, размещенному в том же каталоге: Ssh1Compatibility yes Ssh1Path /usr/local/bin/ssh1 Теперь ssh2 клиент вызовет ssh1 клиента при соединении с SSH1 сервером.
Запуск SSH Существуют два основных способа запуска sshd при начальной загрузке.
Установление SSH соединения Запустив sshd на своей машине, проверьте правильность настроек, попробовав зайти на нее, используя ssh клиента. Давайте предположим, что ваша машина названа host1 и вы входите под именем myname. Запустите ssh соединение, используя команду: ssh -l myname host1 ssh2 клиент (клиент по умолчанию) попробует соединиться с host1 порт 22 (порт по умолчанию). Sshd2 демон, выполняющийся на host1, перехватывает запрос и запрашивает пароль для myname. Если пароль правилен, он позволяет вход в систему и запускает shell.
Генерирование и управление ssh ключами Ssh предлагает и другой аутентификационный механизм, основанный на аутентификационных ключах: метод шифрования с открытым ключом. Каждый пользователь, желающий использовать ssh с аутентификацией с открытым ключом, должен выполнить команду ssh-keygen (без опций) чтобы создать ключи. Команда генерирует пары ключей (публичный и частный) и запрашивает passphrase для их защиты.Создаются два файла в каталоге $HOME/.ssh2/ : id_dsa_1024_a и id_dsa_1024_a.pub, пользовательские частный и публичный ключи. Давайте предположим, что у нас есть два аккаунта, myname1 на host1 и myname2 на host2. Мы хотим войти с host1 на host2, используя аутентификацию ssh c открытыми ключами. Чтобы сделать это, потребуются четыре шага:
Чтобы проверить полученную конфигурацию, пробуйте соединиться с
host1 на host2, используя ssh. Sshd должен ответить запросом о passphrase,
иначе, если затребован пароль, в процессе конфигурации были ошибки, и Вы должны
тщательно проверить шаги с 1 до 4.
В следующей статье... Следующая статья представит другие программы и средства из комплекта ssh: ssh-agent и ssh-add (две полезных программы управления passphrase), а также sftp и scp (защищенный ftp).
|
Copyright © 2000, Matteo Dell'Omodarme. Copying license http://www.linuxgazette.com/copying.html Published in Issue 61 of Linux Gazette, January 2001 |
Вернуться на главную страницу |