Краткое руководство по SSH2

Rate this post
0. Об этом документе

Данный документ дает краткое описание того, как вы можете сделать SSH2 совместимой с SSH1, как установить и как настроить SSH2. Все описания основаны на ssh 2.0.9. Компиляция, инсталляция и настройка проводились на следующих системах RedHat Linux 5.1, Debian 2.0, Solaris 2.5.1.

1. Что такое SSH

SSH — это по настоящему безопасная замена старых, небезопасных программ удаленного входа в систему как rlogin, rsh. Согласно официальному сайту SSH (Secure SHell), SSH — это «программа безопасного входа, которая революционно преображает удаленное управление узлами сетей через Интернет. Это мощное, легкое в использовании приложение, которое использует сильную криптографию для защиты всех передаваемых конфиденциальных данных, включая пароли, двоичные файлы и управляющие команды». SSH2 «является продолжением победоносного протокола SSH1. Он предлагает радикальные улучшения SSH1».

Вы можете получить SSH2 и SSH1 клиенты и серверы в виде двоичных файлов, или в виде исходных текстов, с главного FTP сервера или с одного из его зеркал.

2. Совместимость с SSH1

SSH2 может быть совместим с SSH1, но НЕ совместим по умолчанию. Во-первых, SSH2 требует клиентов и серверов SSH1 для совместимости. Вам нужно прибрести и установить SSH версии 1.2.26 или выше. Для версий 1.2.23 и ниже, SSH1 НЕ работал с SSH2. Автору ничего не известно о версиях 1.2.24 и 1.2.25. Перед установкой SSH2, обновите ваш SSH1 до последней версии.

После установки подходящих версий SSH1 и SSH2 вы можете редактировать файлы настроек SSH2, которые обычно расположены в /etc/ssh2. Настройка описана ниже.

3. Компиляция и установка

Процесс компиляции и установки SSH (либо 1.2.26 либо 2.0.9) довольно прямолинеен. У вас у же есть исходные тексты SSH? Скачайте сначала их. Архивы tar подписаны PGP. Проверьте их, если вы боитесь. Ниже автор кратко опишет весь процесс. За подробностями обращайтесь к файлам README внутри архивов.

Распакуйте ваши исходные тексты SSH1, командой

$ gzip -dc ssh-1.2.26.tar.gz | tar xvpf

Это создаст каталог «ssh-1.2.26».

Сконфигурите его и затем сделайте двоичные файлы

$ cd ssh-1.2.26
$ ./configure; make

Потом из-под суперпользователя установите двоичные файлы, файлы настроек и ключи командой

$ su
# make install

Данное действие установит клиентов (ssh1, slogin1,…) в /etc/local/bin, и сервер (sshd1) в /usr/local/sbin. Обратите внимание, что программы в имени которых не присутствует «1» (т.е. ssh, slogin, sshd и т.д.) являются симлинками на реальные исполнимые файлы (ssh1, slogin1, sshd1 и т.д.).

Установка SSH2 — почти такой же процесс:

$ gzip -dc ssh-2.0.9.tar.gz | tar xvpf
$ cd ssh-2.0.9
$ ./configure; make
$ su
# make install

Данное действие установит клиентов (ssh2, slogin2,…) в /etc/local/bin, и сервер (sshd2) в /usr/local/sbin. Обратите внимание, что программы в имени которых не присутствует «2» (т.е. ssh, slogin, sshd и т.д.) являются симлинками на реальные исполнимые файлы (ssh2, slogin2, sshd2 и т.д.).

4. Настройка системы

Настройка по-умолчанию в большинстве случаев уже пригодна для использования, но она не будет работать с SSH1. Добавьте следующие две строки в файл настроек sshd2_config, расположеный в /etc/ssh2 (или куда вы его засунули). После чего, сервер sshd2 будет передавать запросы SSH1-клиентов к sshd1.

Ssh1Compatibility yes
Sshd1Path /usr/local/sbin/sshd1

Замените /usr/local/sbin/sshd1 на имя каталога куда вы установили сервер sshd1. Затем добавьте следующие 2 строки в файл ssh2_config, который находится там же, где и файл sshd2_config. После чего клиент ssh2 будет вызывать клиента ssh1 при контакте с сервером SSH1.

Ssh1Compatibility yes
Ssh1Path /usr/local/bin/ssh1

Замените /usr/local/sbin/sshd1 на имя каталога куда вы установили клиент ssh1. Загляните на man страницу sshd и ssh за информацией об других настройках.

5. Индивидуальные настройки для пользователя

Индивидуальная настройка SSH2 требует большего ума, чем настройка SSH1. Теперь открытые ключи хранятся в раздельных файлах и каждый может иметь несколько хост-специфичных идентификаторов (т.е. закрытых ключей). За деталями обратитесь к man странице ssh. Здесь автор опишет основное использование SSH2. Когда вы хотите зайти на удаленный хост (Remote) с локального компьютера (Local) через SSH2 вы должны сделать:

a) Создать открытые и закрытые ключи для машины Local выполнением команд ssh-keygen (ssh-keygen2) на этой машине

Local$ ssh-keygen
Generating 1024-bit dsa key pair
9 o.oOo....oOo.o
Key generated.
1024-bit dsa, created by ymmt@Local Wed Sep 23 07:11:02 1998
Passphrase:
Again:
Private key saved to /home/ymmt/.ssh2/id_dsa_1024_a
Public key saved to /home/ymmt/.ssh2/id_dsa_1024_a.pub

ssh-keygen спросит пароль для нового ключа. Введите последовательность любых обычных символом (пробел тоже считается) достаточной длины (20 символов и более). ssh-keygen создаст каталог .ssh2 в вашем домашнем каталоге и сохранит идентификационных ключ в двух различных файлах. Один из них — ваш закрытый ключ и вы его никому НЕ должны открывать. В приведенном выше примере это файл id_dsa_1024_a. Другой файл (id_dsa_1024_a.pub) является открытым ключом, он безопасен для распространения на другие компьютеры и публикации.

b) Создать идентификационный файл на машине Local в каталоге .ssh2

Local$ cd ~/.ssh2
Local$ echo "IdKey id_dsa_1024_a" > identification

Это создаст файл identification в вашем каталоге .ssh2, в котором одна строка, обозначающая файл, содержащий ваш идентификатор. Идентификатор соответствует паролю (см. выше). Вы можете создать несколько идентификаторов, выполняя ssh-keygen. Но вы должны делать это очень редко.

c) Проделать действия a) и b) на машине Remote

Здесь нужно просто создать каталог .ssh2. Пароли могут различаться.

d) Скопировать ваш открытый ключ машины Local на машину Remote в каталог .ssh2, под именем, например, Local.pub.

.ssh2 на машине Remote должен содержать:

Remote$ ls -F ~/.ssh2
Local.pub
authorization
hostkeys/
id_dsa_1024_a
id_dsa_1024_a.pub
identification
random_seed

e) Создать файл authorization в каталоге .ssh2 на машине Remote. Добавить в него строку

Key Local.pub

которая направит сервер SSH смотреть файл Local.pub во время авторизации вашего входа в систему. Если вы хотите заходить на машину Remote с других машин, создайте ключи авторизации на этих машинах: шаги a и b и повторите шаги d) и e) на машине Remote.

f) Теперь вы можете зайти на машину Remote с машины Local используя SSH2

Попробуйте войти:

Local$ ssh Remote
Passphrase for key "/home/ymmt/.ssh2/id_dsa_1024_a" with
comment "1024-bit dsa? created by ymmt@Local Mon Sep 21
17:53:01 19989":

Введите ваш пароль на Local, и все.

6. Использование с SSH1

Ваши пользователи могут настаивать на использовании старых клиентов SSH1 после установки SSH2. Здесь приводятся несколько замечаний:

Сервер:

сервер ssh2 будет передавать запросы SSH1-клиентов программе sshd1, так что пользователи, которые хотят соединиться с сервером SSH2 по протоколу SSH1 должны пользоваться командой ssh1.

Клиенты:

Пользователи SSH1 должны также пользоваться ssh-keygen1, ssh-agent1 и ssh-add1. А короче, пользоваться ssh*1.

На этом все. Комментарии и размышления приветствуются.

admin

In our company here at a low price , there are discounts.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *