Читаем Сетевые средства Linux полностью

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!        @

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!

Клиент может отображать дополнительную информацию в составе сообщения, но в любом случае соединение с сервером не устанавливается. Если пользователь согласен работать с новыми ключами, он должен удалить запись, соответствующую серверу, из файла .ssh/known_hosts или ~/.ssh/known_hosts2 (имя файла зависит от версии протокола).

В отличие от telnetd, sshd не передает управление программе /bin/login; вместо этого sshd самостоятельно осуществляет регистрацию пользователя. (Если вы хотите, чтобы sshd использовала программу login, необходимо задать соответствующее значение опции UseLogin в файле sshd_config.) Таким образом, sshd можно рассматривать как сочетание программ telnetd и login. Исключив программу login из процесса регистрации, sshd получает возможность выполнять аутентификацию с помощью открытого ключа.

Ключи для автоматической регистрации и повышения безопасности системы

Пользователи могут генерировать ключи и использовать их для регистрации на сервере. Эти ключи хранятся на клиентской машине в каталоге ~/.ssh. Как известно, по умолчанию при аутентификации на сервере SSH пользователь должен задавать пароль. Если вы передадите открытый ключ на сервер, то будете избавлены от необходимости указывать пароль при регистрации. Для повышения уровня защиты при регистрации с помощью открытого ключа может также быть предусмотрен ввод специальной фразы пароля; это еще больше усложнит процедуру незаконного проникновения в систему. Чтобы аутентификация с помощью открытого ключа стала возможной, выполните следующие действия.

1. Зарегистрируйтесь на компьютере, выполняющем роль клиента при SSH-обмене.

2. Введите команду генерации ключей, соответствующих версии 2 SSH. Эта команда приведена ниже; для ее выполнения потребуется несколько секунд.

$ ssh-keygen -q -t rsa -f ~/.ssh/id_rsa -C '' -N ''

На заметку

Если вы не укажете опцию -N '', утилита ssh-keygen запросит фразу пароля. Если перед нажатием клавиши вы введете какие-либо символы, вам придется указывать их при каждом соединении с сервером. С точки зрения пользователя использование фразы пароля при регистрации принципиально не отличается от указания пароля.

3. Скопируйте файл ~/id_rsa.pub в свой рабочий каталог на сервере. (Этот файл содержит открытый ключ. Его имя отличается от имени файла, которое вы задали при вызове предыдущей команды, суффиксом .pub.) Для копирования можно использовать команду scp.

$ scp ~/.ssh/id_rsa.pub server:.ssh/id_rsa.client

4. Зарегистрируйтесь на сервере. Для этого вы можете использовать ssh, но вам придется ввести пароль.

5. Сделайте каталог ~/.ssh текущим. Если вы выведете список файлов, то увидите, что в этом каталоге присутствует файл id_rsa.client.

6. Добавьте открытый ключ в файл authorized_keys2. Это можно сделать с помощью следующей команды:

$ cat id_rsa.client >> authorized_keys2

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

$ ssh -2 server

Перейти на страницу:

Похожие книги