• Notice: Undefined variable: output in noindex_external_links_filter_tips() (line 130 of /home/u4635/domains/danisimov.ru/sites/all/modules/noindex_external_links/noindex_external_links.module).
  • Notice: Undefined variable: output in noindex_external_links_filter_tips() (line 130 of /home/u4635/domains/danisimov.ru/sites/all/modules/noindex_external_links/noindex_external_links.module).
  • Notice: Undefined variable: output in noindex_external_links_filter_tips() (line 130 of /home/u4635/domains/danisimov.ru/sites/all/modules/noindex_external_links/noindex_external_links.module).
  • Notice: Undefined variable: output in danisimovrutheme_comment_form() (line 123 of /home/u4635/domains/danisimov.ru/sites/all/themes/danisimovrutheme/template.php).
  • Notice: Undefined variable: output in taxonomy_context_help() (line 208 of /home/u4635/domains/danisimov.ru/sites/all/modules/taxonomy_context/taxonomy_context.module).

PuTTY и SSH

19/06/2012[0]

Данное руководство описывает, как сгенерировать и использовать пару ключей (открытый/закрытый) для SSH-подключения к удалённой системе с помощью Putty. Putty – это SSH клиент, доступны версии для Windows и Linux (хотя более распространена версия для Windows систем). Применяя основанную на ключах SSH процедуру соединения, Вы можете отключить обычную процедуру (использующую имя/пароль), это будет означать, что только люди, обладающие правильной парой ключей, смогут осуществить соединение. Таким образом, система становится более надёжной, благодаря невозможности проведения успешной атаки с помощью прямого перебора паролей.

1. Предварительное замечание.

В этом описании используется компьютер с установленной Windows для подключения к SSH серверу Linux.

2. Установка PuTTY, PuTTYgen и Pageant в системе Windows.

Прежде всего мы должны установить PuTTY, PuTTYgen и Pageant в нашей системе Windows. Всё, что мы должны сделать, это скачать установочный файл (.exe) со страницы загрузки PuTTY и запустить его. В качестве папки, куда будет установлена программа, можно указать, например, «C:\putty». Чтобы запустить инсталлированные приложения, их достаточно дважды кликнуть.

putty_1.png

3. Создание профиля с настройками для нашего удалённого сервера.

В PuTTY Вы можете создавать профили для различных SSH серверов, так что Вам не придётся вбивать настройки для конкретного сервера, когда Вы захотите к нему очередной раз подсоединиться.

Давайте создадим профиль для нашего сервера. Запустите PuTTY двойным щелчком на исполняемом файле. Сейчас Вы находитесь в категории Sessions (см. дерево слева на скриншоте). Введите 81.195.XXX.XXX в строку Host Name (or IP adress) (имя хоста или IP адрес) (здесь и далее часть IP скрыта по этическим причинам), введите Port (номер порта) 22 и выберите Protocol (протокол) SSH:

putty_2.png

Затем идите в категорию Connection -> Data и укажите в Auto-login username имя пользователя, под которым Вы хотите подключаться к SSH серверу. В этой статье используется имя vasily:

putty_3.png

Затем снова идите в категорию Sessions. Под надписью Saved Sessions (сохранённые сессии) введите имя профиля, например, session1 или любую другую запись, которая поможет Вам вспомнить, к какому серверу относится этот профиль. Кликните на Save:

putty_4.png

В следующий раз, когда Вы запустите PuTTY, просто выберите подходящий профиль из Saved Sessions, кликните Load и Open.

4. Соединение с сервером SSH.

Теперь мы можем подсоединиться к нашему SSH серверу, просто кликнув Open.

putty_5.png

Если Вы соединяетесь с сервером в первый раз, всплывёт предупреждение об угрозе безопасности. Это происходит потому, что PuTTY ещё не известен ключ хоста сервера, можно смело кликать Yes. (Если это происходит позже снова, это может означать, что другой сервер запущен с тем же IP адресом, или что кто-то взломал сервер и изменил ключ).

putty_6.png

Мы сохранили имя, под которым соединяемся, в настройках профиля, поэтому нам не нужно вбивать его снова, мы только укажем пароль пользователя:

putty_7.png

Итак, это был «обычный» способ соединения, то есть, с парольной идентификацией. Если кто-нибудь узнает имя и пароль, он тоже сможет соединиться. Поэтому если у Вас простой пароль и/или Вы стали жертвой атаки с прямым перебором, могут быть проблемы. Давайте сейчас исправим это.

5. Изготовление пары закрытого и открытого ключей.

Мы можем использовать PuTTYgen для изготовления пары закрытого и открытого ключей. Запустите генератор двойным кликом на исполняемом файле. Убедитесь, что Вы выбрали SSH-2 DSA под Type of key to generate: (Тип генерируемого ключа) и ввели 2048 в Number of bits in a generated key (Число бит в генерируемом ключе). (Автор статьи-оригинала рекомендует использовать SSH-2 RSA и 1024). Затем кликните на Generate: putty_8.png

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

putty_9.png

Теперь пара закрытого и открытого ключей сгенерирована. Под Key comment: Вы можете ввести комментарий (обычно здесь пишут свой e-mail адрес). Затем вписывают Key passphrase (парольная фраза) и повторяют её под Confirm passphrase:. Вам понадобится эта парольная фраза для подсоединения к SSH с Вашим новым ключём. Затем кликните Save public key (Сохранить открытый ключ) и сохраните его в безопасном месте на Вашем компьютере. Вы вольны выбрать любое имя и расширение, но оно должно быть таким, чтобы вы помнили, к какой системе этот ключ.

putty_10.png putty_11.png

Затем кликните на Save private key (Сохранить закрытый ключ). Вы можете сохранить его там же, где и открытый ключ, только Вы должны иметь к нему доступ, позаботьтесь о его сохранности! (Если вы утеряете ключи и отмените подключение по способу имя/пароль, Вы будете более неспособны подключиться!). Вы так же свободны в выборе имени файла, но на этот раз расширение будет .ppk.

putty_12.png putty_13.png

Затем скопируйте открытый ключ из окна PuTTYgen:

putty_14.png

6. Сохранение открытого ключа на сервере.

Соединитесь с Вашим SSH сервером (если вы уже закрыли предыдущую сессию SSH), пока ещё с помощью имени и пароля, и вставьте открытый ключ в файл ~/.ssh/authorized_keys2 (в одну линию!) примерно вот так:

mkdir ~/.ssh

chmod 700 ~/.ssh

vi ~/.ssh/authorized_keys2

ssh-dss AAAAB3NzaC1kc3MAAAE [. . .] Huw2FekFNM7pMgEQi57k= dsa-key-20061205

Данный файл должен читаться/правиться только данным пользователем, поэтому мы запускаем:

chmod 600 ~/.ssh/authorized_keys2

7. Прикрепление закрытого ключа к профилю PuTTY.

Теперь снова запустите PuTTY и загрузите профиль Вашего SSH сервера (session1).

putty_15.png

Затем идите в категорию SSH, далее Auth и кликайте Browse:

putty_16.png

Найдите в вашей системе и выберите созданный ранее закрытый ключ:

putty_17.png putty_18.png

Затем снова идите в категорию Session и кликайте на Save:

putty_19.png

Теперь наш закрытый ключ присоединён к профилю PuTTY session1.

8. Наше первое подключение, основанное на ключе.

Теперь всё готово для первого подключения к SSH серверу с помощью ключа. Кликните на Open:

putty_20.png

Как Вы видите, открытый ключ теперь используется для идентификации, и у Вас запрашивается парольная фраза (та, которая была создана в пункте 5):

putty_21.png

9. Отключение парольной идентификации

Теперь можно подсоединиться к серверу, используя пару ключей (открытый/закрытый), и всё ещё есть возможность соединения с помощью имени и пароля, поэтому, если не прикрепить закрытый ключ к своей сессии PuTTY, будет предложено ввести имя и пароль. Поэтому, для достижения большей защищённости, мы должны отключить возможность соединения имя/пароль. (Вы должны сделать это только когда полностью уверены, что подключение с помощью ключа работает, в противном случае у Вас будут проблемы…)

Для отключения возможности соединения через имя/пароль, мы должны внести изменения в конфигурационный файл sshd. В системах Debian/Ubuntu это /etc/ssh/sshd_config. Вы должны выбрать Protokol 2 (1 ненадёжен и не должен использоваться!), PasswordAuthentication установить в no, и для UsePAM также выбрать no (или закомментировать строку UsePAM), например, так:

vi /etc/ssh/sshd_config

[...]

Protocol 2

PasswordAuthentication no

UsePAM no

[...]

Затем перезапустите sshd. В Debian/Ubuntu это можно сделать так:

/etc/init.d/ssh restart

Теперь, если Вы откроете сессию PuTTY без присоединённого закрытого ключа, Вы больше не способны будете соединиться.

10. Запоминание парольной фразы с помощью Pageant.

Теперь, всякий раз, когда Вы используете подключение с помощью ключа, Вам требуется вписывать Вашу парольную фразу. Это может раздражать, если Вы соединяетесь с SSH сервером много раз за день. К счастью, Вы можете сообщить парольную фразу программе Pageant, который будет подставлять её всякий раз, когда Вы соединяетесь с SSH сервером.
Запустите Pageant двойным кликом на исполняемом файле:

putty_22.png

После этого Вы увидите запущенный Pageant в таскбаре:

putty_23.png

Двойной клик по иконке Pageant в таскбаре открывает окно, приведённое ниже. Кликните клавишу Add Key (Добавить ключ):

putty_24.png

Найдите в вашей файловой системе закрытый ключ и выберите его:

putty_25.png

Введите парольную фразу для закрытого ключа:

putty_26.png

Теперь ключ внесён в список ключей Pageant. Кликнете на Close (Закрыть):

putty_27.png

Пока Pageant запущен, Вы можете соединяться с SSH сервером без ввода парольной фразы, это делает Pageant:

putty_28.png

Когда Вы остановите Pageant, он забудет все ключи, поэтому, в следующий раз, при запуске Pageant Вам придётся снова добавить ключи. Это так же может раздражать, но можно создать на Рабочем столе ярлык к исполняемому файлу Pageant. Кликнете правой кнопкой мыши на файле Pageant и выберите Create shortcut (Создать ярлык):

putty_29.png

Теперь найдите созданный ярлык. Кликните правой кнопкой на нём и выберите Properties (Свойства):

putty_30.png

Под надписью Target (Объект) Вы найдёте путь к pageant.exe, например «C:\putty\pageant.exe« (если в пути нет пробелов, в кавычках нет необходимости). Теперь Вы можете просто добавить путь к Вашему закрытому ключу в эту строку. Например, если Ваш ключ C:\putty\my_keys\private_session1.ppk, то строка должна выглядеть так:

C:\putty\pageant.exe C:\putty\my_keys\private_session1.ppk

Если в пути к закрытому ключу есть пробелы, Вы должны заключит его в кавычки, например, так:

«C:\putty files\pageant.exe» «C:\putty files\my_keys\private_session1.ppk»

Затем кликайте на OK.

putty_31.png

Теперь, когда вы дважды кликаете ярлык Pageant, Pageant будет автоматически загружать Ваш закрытый ключ и спрашивать парольную фразу. Введите её, и на этом всё.

0 комментариев

Отправить комментарий

Содержимое этого поля является приватным и не будет отображаться публично. Для формирования вашего аватара используется сервис: Gravatar
CAPTCHA на основе изображений
Введите символы, которые показаны на картинке.