Настройка клиента OpenSSH

Чтобы подключиться к серверу OpenSSH с клиентского компьютера, на этом компьютере вы должны установить пакеты openssh-clients и openssh.

Использование команды ssh

Команда ssh является безопасной заменой команд rlogin, rsh и telnet. Она позволяет вам регистрироваться и выполнять команды на удалённом компьютере.

Регистрация на удалённой машине с помощью ssh похожа на использование telnet. Чтобы зарегистрироваться на удалённой машине с именем penguin.example.net, введите следующую команду в приглашении оболочки:
ssh penguin.example.net
При первом ssh подключении к удалённой машине, вы увидите подобное сообщение:
The authenticity of host 'penguin.example.net' can't be established.
DSA key fingerprint is 94:68:3a:3a:bc:f3:9a:9b:01:5d:b3:07:38:e2:11:0c.
Are you sure you want to continue connecting (yes/no)? 
Введите yes для продолжения. При этом сервер будет добавлен в ваш список известных серверов, о чём говорит следующее сообщение:
Warning: Permanently added 'penguin.example.net' (DSA) to the list of known hosts.
Затем, вы увидите приглашение для ввода пароля удалённого компьютера. Введя правильный пароль, вы окажетесь в приглашении оболочки удалённого компьютера. Если вы выполните ssh, не задав параметры командной строки, имя пользователя, с которым вы зарегистрированы на локальной клиентской машине будет отправлено на удалённую машину. Если же вы хотите указать другое имя пользователя, выполните следующую команду:
ssh -l username penguin.example.net
Вы можете использовать и такую запись: ssh username@penguin.example.net.

Команда ssh может применяться для выполнения команд на удалённом компьютере без использования приглашения оболочки. При этом используется запись: ssh hostname command. Например, если вы хотите выполнить команду ls /usr/share/doc на удалённом компьютере penguin.example.net, введите в приглашении оболочки:
ssh penguin.example.net ls /usr/share/doc
Когда вы введёте правильный пароль, на экране появится содержимое /usr/share/doc, и вы вернётесь к своему приглашению оболочки.

Использование команды ssh

Команда scp используется для передачи файлов между компьютерами через защищённое шифрованием соединение. Она похожа на rcp.

Для передачи локального файла на удалённый компьютер используется запись scp localfile username@tohostname:/newfilename. localfile обозначает исходный файл, а комбинация username@tohostname:/newfilename определяет назначение.

Чтобы передать локальный файл shadowman на компьютер penguin.example.net под своем именем пользователя, введите в приглашении оболочки (заменив username своим именем):
scp shadowman username@penguin.example.net:/home/username
При этом локальный файл shadowman скопируется в /home/username/shadowman на сервере on penguin.example.net.

Для передачи удалённого файла на локальный компьютер используется запись scp username@tohostname:/remotefile /newlocalfile. remotefile обозначает исходный файл, а newlocalfile - назначение.

В качестве исходных файлов могут быть указаны несколько файлов. Например, чтобы передать содержимое каталога /downloads в существующий каталог с именем uploads на удалённый компьютер machine penguin.example.net, введите в приглашении оболочки следующую команду:
scp /downloads/* username@penguin.example.net:/uploads/

Использование команды sftp

Программа sftp используется для создания защищенного, интерактивного сеанса FTP. Она похожа на ftp, за исключением того, что используется безопасное, защищенное соединение. Стандартная запись команды: sftp username@hostname.com. После проверки подлинности вы можете использовать команды, такие же как и в FTP. Список этих команд вы можете найти на странице руководства sftp. Чтобы прочитать страницу руководства, выполните в приглашении оболочки man sftp. Утилита sftp включена в состав пакета OpenSSH версии 2.5.0p1 и выше.

Создание пар ключей

Если вы не желаете вводить пароль при каждом выполнении ssh, scp или sftp на удалённой машине, вы можете создать пару ключей авторизации.

ЗамечаниеОтдельные пары ключей авторизации
 

Вы должны использовать отдельные пары ключей авторизации для SSH Protocol 1 (RSA) и SSH Protocol 2 (DSA).

ПредупреждениеКаждый пользователь должен использовать свою собственную пару ключей
 

Ключи должны быть созданы для каждого пользователя. Чтобы создать ключи для пользователя, выполните следующие действия под именем пользователя, которому нужно подключаться к удалённым компьютерам. Если вы выполните эти действия под именем root, только root сможет использовать эти ключи.

Создание пары ключей DSA

Выполните следующие действия для создания пары ключей DSA. DSA используется в SSH Protocol 2.

  1. Чтобы создать пару ключей DSA, работающих с протоколом версии 2, введите в приглашение оболочки следующую команду:

    ssh-keygen -t dsa

    Согласитесь с предложенным расположением файла ~/.ssh/id_dsa. Введите секретную фразу, отличную от пароля вашей учётной записи и подтвердите её. [1]

    ПодсказкаЧто такое секретная фраза?
     

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

  2. Измените разрешения в каталоге .ssh, выполнив командуchmod 755 ~/.ssh.

  3. Скопируйте содержимое ~/.ssh/id_dsa.pub в ~/.ssh/authorized_keys2 на компьютер, к которому вы хотите подключиться. Если файл ~/.ssh/authorized_keys2 не существует, вы можете скопировать файл ~/.ssh/id_dsa.pub в файл ~/.ssh/authorized_keys2 на другой компьютер.[1]

  4. Если вы используете GNOME, перейдите к разделу Настройка ssh-agent в GNOME. Если вы не используйте систему X Window , перейдите к разделу Настройка ssh-agent.

Создание пары ключей RSA для версии 2

Выполните следующие действия для создания пары ключей RSA для версии 2 протокола SSH. Этот протокол в OpenSSH используется по умолчанию, начиная с версии 2.9.

  1. Чтобы создать пару ключей RSA, работающих с протоколом версии 2, введите в приглашение оболочки следующую команду:

    ssh-keygen -t rsa

    Согласитесь с предложенным расположением файла ~/.ssh/id_rsa. Введите секретную фразу, отличную от пароля вашей учётной записи и подтвердите её. [1]

  2. Измените разрешения в каталоге .ssh, выполнив командуchmod 755 ~/.ssh.

  3. Скопируйте содержимое ~/.ssh/id_rsa.pub в ~/.ssh/authorized_keys2 на компьютер, к которому вы хотите подключиться. Если файл ~/.ssh/authorized_keys2 не существует, вы можете скопировать файл ~/.ssh/id_rsa.pub в файл ~/.ssh/authorized_keys2 на другой компьютер.[1]

  4. Если вы используете GNOME, перейдите к разделу Настройка ssh-agent в GNOME. Если вы не используйте систему X Window , перейдите к разделу Настройка ssh-agent.

Создание пары ключей RSA для версии 1.3

Выполните следующие действия для создания пары ключей RSA для версии 1 протокола SSH. Если вы подключаетесь только к системам Red Hat Linux 7.2, вам не потребуется пара ключей RSA.

  1. Чтобы создать пару ключей RSA (для версий протокола 1.3 и 1.5), введите в приглашении оболочки следующую команду:
    ssh-keygen
    Согласитесь с предложенным расположением файла (~/.ssh/identity). Введите секретную фразу, отличную от пароля вашей учётной записи. Подтвердите секретную фразу, введя её снова.

  2. Измените разрешения в каталоге .ssh и файлов ключей, выполнив команды chmod 755 ~/.ssh и chmod 644 ~/.ssh/identity.pub.

  3. Скопируйте содержимое ~/.ssh/identity.pub в файл ~/.ssh/authorized_keys на компьютер, к которому вы хотите подключиться. Если файл ~/.ssh/authorized_keys не существует, вы можете скопировать файл ~/.ssh/identity.pub в файл ~/.ssh/authorized_keys на удалённый компьютер. [1]

  4. Если вы используете GNOME, перейдите к разделу Настройка ssh-agent в GNOME. Если вы не используете GNOME, перейдите к разделу Настройка ssh-agent.

Настройка ssh-agent в GNOME

Программа ssh-agent может сохранять вашу секретную фразу, чтобы вам не понадобилось вводить её при каждом установлении соединения ssh или scp. Если вы используете GNOME, для ввода секретной фразы при входе в систему и сохранения её до выхода из GNOME, используйте программу openssh-askpass-gnome. Тогда вы не будете должны вводить пароль или секретную фразу для каждого ssh или scp соединения, сделанного в течении этого сеанса GNOME. Если вы не используете GNOME, перейдите к разделу Настройка ssh-agent.

Чтобы сохранить вашу секретную фразу в течение сеанса GNOME, выполните следующие действия:

  1. Вам потребуется установить пакет openssh-askpass-gnome; выполните команду rpm -q openssh-askpass-gnome чтобы проверить, установлен он или нет. Если он не установлен, установите его с компакт-дисков Red Hat, сайта (или зеркала) Red Hat FTP или найдите его в сети Red Hat Network.

  2. Если у вас нет файла ~/.Xclients, вы можете запустить switchdesk для его создания. В вашем файле ~/.Xclients отредактируйте следующую строку:
    exec $HOME/.Xclients-default
    Измените строку следующим образом:
    exec	/usr/bin/ssh-agent $HOME/.Xclients-default

  3. Запустите центр управления GNOME (Кнопка главного меню GNOME => Programs (Программы) => Settings (Настройки) => GNOME Control Center (Панель управления GNOME)) и перейдите в раздел Session (Сеанс) => Startup Programs (Программы автозагрузки). Нажмите кнопку Add (Добавить) и введите /usr/bin/ssh-add в текстовой области Startup Command (Программа автозагрузки). Задайте коэффициент приоритета, больший чем у любой существующей команды, чтобы эта выполнялась последней. Подходящим числом для ssh-add будет 70 или выше. Чем выше коэффициент приоритета, тем ниже приоритет. Если у вас перечислены другие программы, это должна иметь наименьший приоритет. Нажмите OK для сохранения этих настроек, и выйдите из центра управления GNOME.

  4. Выйдите из системы и вернитесь в GNOME; другими словами, перезапустите X. После запуска GNOME, на экране появляется диалог, предлагающий ввести вашу секретную фразу. Введите требуемую секретную фразу. Если у вас созданы пары ключей DSA и RSA, вы будете вводить обе фразы. Теперь, вы не будете вводить пароль, используя ssh, scp или sftp.

Настройка ssh-agent

Программа ssh-agent может сохранять вашу секретную фразу, чтобы вам не понадобилось вводить её при каждом установлении соединения ssh или scp. Если вы не используете X Window System, выполните следующие действия в приглашении оболочки. Если вы используете GNOME, не не хотите, чтобы он спрашивал вас секретную фразу при регистрации (как описано в разделе Настройка ssh-agent в GNOME), эту процедуру можно выполнить в окне терминала, например xterm. Если вы используете X, но не GNOME, эти действия можно выполнить в окне терминала, например в xterm. Однако, ваша секретная фраза будет сохранена только в окне терминала; она не будет доступна глобально.

  1. В приглашении оболочки выполните следующую команду:
    exec /usr/bin/ssh-agent $SHELL
    Затем введите команду
    ssh-add 
    и введите вашу фразу. Если вы создавали пары ключей DSA и RSA, вы будете вводить обе фразы.

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

Замечания

[1]

Под символом ~ понимается домашний каталог пользователя, вошедшего в систему. Обратитесь к Официальному руководству по началам работы с Red Hat Linux за дополнительной информацией.