Чтобы подключиться к серверу OpenSSH с клиентского компьютера, на этом компьютере вы должны установить пакеты openssh-clients и openssh.
Команда ssh является безопасной заменой команд rlogin, rsh и telnet. Она позволяет вам регистрироваться и выполнять команды на удалённом компьютере.
Регистрация на удалённой машине с помощью ssh похожа на использование telnet. Чтобы зарегистрироваться на удалённой машине с именем penguin.example.net, введите следующую команду в приглашении оболочки:
ssh penguin.example.net |
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)? |
Warning: Permanently added 'penguin.example.net' (DSA) to the list of known hosts. |
ssh -l username penguin.example.net |
Команда ssh может применяться для выполнения команд на удалённом компьютере без использования приглашения оболочки. При этом используется запись: ssh hostname command. Например, если вы хотите выполнить команду ls /usr/share/doc на удалённом компьютере penguin.example.net, введите в приглашении оболочки:
ssh penguin.example.net ls /usr/share/doc |
Команда scp используется для передачи файлов между компьютерами через защищённое шифрованием соединение. Она похожа на rcp.
Для передачи локального файла на удалённый компьютер используется запись scp localfile username@tohostname:/newfilename. localfile обозначает исходный файл, а комбинация username@tohostname:/newfilename определяет назначение.
Чтобы передать локальный файл shadowman на компьютер penguin.example.net под своем именем пользователя, введите в приглашении оболочки (заменив username своим именем):
scp shadowman username@penguin.example.net:/home/username |
Для передачи удалённого файла на локальный компьютер используется запись scp username@tohostname:/remotefile /newlocalfile. remotefile обозначает исходный файл, а newlocalfile - назначение.
В качестве исходных файлов могут быть указаны несколько файлов. Например, чтобы передать содержимое каталога /downloads в существующий каталог с именем uploads на удалённый компьютер machine penguin.example.net, введите в приглашении оболочки следующую команду:
scp /downloads/* username@penguin.example.net:/uploads/ |
Программа 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 используется в SSH Protocol 2.
Чтобы создать пару ключей DSA, работающих с протоколом версии 2, введите в приглашение оболочки следующую команду:
ssh-keygen -t dsa |
Согласитесь с предложенным расположением файла ~/.ssh/id_dsa. Введите секретную фразу, отличную от пароля вашей учётной записи и подтвердите её. [1]
Что такое секретная фраза? | |
---|---|
Секретная фраза - это строка слов и символов, используемая для проверки подлинности пользователя. Секретные фразы отличаются от паролей, тем, что они могут содержать пробелы и табуляции. Секретные фразы чаще всего длиннее паролей, так как это обычно несколько слов, а не одно. |
Измените разрешения в каталоге .ssh, выполнив командуchmod 755 ~/.ssh.
Скопируйте содержимое ~/.ssh/id_dsa.pub в ~/.ssh/authorized_keys2 на компьютер, к которому вы хотите подключиться. Если файл ~/.ssh/authorized_keys2 не существует, вы можете скопировать файл ~/.ssh/id_dsa.pub в файл ~/.ssh/authorized_keys2 на другой компьютер.[1]
Если вы используете GNOME, перейдите к разделу Настройка ssh-agent в GNOME. Если вы не используйте систему X Window , перейдите к разделу Настройка ssh-agent.
Выполните следующие действия для создания пары ключей RSA для версии 2 протокола SSH. Этот протокол в OpenSSH используется по умолчанию, начиная с версии 2.9.
Чтобы создать пару ключей RSA, работающих с протоколом версии 2, введите в приглашение оболочки следующую команду:
ssh-keygen -t rsa |
Согласитесь с предложенным расположением файла ~/.ssh/id_rsa. Введите секретную фразу, отличную от пароля вашей учётной записи и подтвердите её. [1]
Измените разрешения в каталоге .ssh, выполнив командуchmod 755 ~/.ssh.
Скопируйте содержимое ~/.ssh/id_rsa.pub в ~/.ssh/authorized_keys2 на компьютер, к которому вы хотите подключиться. Если файл ~/.ssh/authorized_keys2 не существует, вы можете скопировать файл ~/.ssh/id_rsa.pub в файл ~/.ssh/authorized_keys2 на другой компьютер.[1]
Если вы используете GNOME, перейдите к разделу Настройка ssh-agent в GNOME. Если вы не используйте систему X Window , перейдите к разделу Настройка ssh-agent.
Выполните следующие действия для создания пары ключей RSA для версии 1 протокола SSH. Если вы подключаетесь только к системам Red Hat Linux 7.2, вам не потребуется пара ключей RSA.
Чтобы создать пару ключей RSA (для версий протокола 1.3 и 1.5), введите в приглашении оболочки следующую команду:
ssh-keygen |
Измените разрешения в каталоге .ssh и файлов ключей, выполнив команды chmod 755 ~/.ssh и chmod 644 ~/.ssh/identity.pub.
Скопируйте содержимое ~/.ssh/identity.pub в файл ~/.ssh/authorized_keys на компьютер, к которому вы хотите подключиться. Если файл ~/.ssh/authorized_keys не существует, вы можете скопировать файл ~/.ssh/identity.pub в файл ~/.ssh/authorized_keys на удалённый компьютер. [1]
Если вы используете GNOME, перейдите к разделу Настройка ssh-agent в GNOME. Если вы не используете GNOME, перейдите к разделу Настройка ssh-agent.
Программа ssh-agent может сохранять вашу секретную фразу, чтобы вам не понадобилось вводить её при каждом установлении соединения ssh или scp. Если вы используете GNOME, для ввода секретной фразы при входе в систему и сохранения её до выхода из GNOME, используйте программу openssh-askpass-gnome. Тогда вы не будете должны вводить пароль или секретную фразу для каждого ssh или scp соединения, сделанного в течении этого сеанса GNOME. Если вы не используете GNOME, перейдите к разделу Настройка ssh-agent.
Чтобы сохранить вашу секретную фразу в течение сеанса GNOME, выполните следующие действия:
Вам потребуется установить пакет openssh-askpass-gnome; выполните команду rpm -q openssh-askpass-gnome чтобы проверить, установлен он или нет. Если он не установлен, установите его с компакт-дисков Red Hat, сайта (или зеркала) Red Hat FTP или найдите его в сети Red Hat Network.
Если у вас нет файла ~/.Xclients, вы можете запустить switchdesk для его создания. В вашем файле ~/.Xclients отредактируйте следующую строку:
exec $HOME/.Xclients-default |
exec /usr/bin/ssh-agent $HOME/.Xclients-default |
Запустите центр управления GNOME (Кнопка главного меню GNOME => Programs (Программы) => Settings (Настройки) => GNOME Control Center (Панель управления GNOME)) и перейдите в раздел Session (Сеанс) => Startup Programs (Программы автозагрузки). Нажмите кнопку Add (Добавить) и введите /usr/bin/ssh-add в текстовой области Startup Command (Программа автозагрузки). Задайте коэффициент приоритета, больший чем у любой существующей команды, чтобы эта выполнялась последней. Подходящим числом для ssh-add будет 70 или выше. Чем выше коэффициент приоритета, тем ниже приоритет. Если у вас перечислены другие программы, это должна иметь наименьший приоритет. Нажмите OK для сохранения этих настроек, и выйдите из центра управления GNOME.
Выйдите из системы и вернитесь в GNOME; другими словами, перезапустите X. После запуска GNOME, на экране появляется диалог, предлагающий ввести вашу секретную фразу. Введите требуемую секретную фразу. Если у вас созданы пары ключей DSA и RSA, вы будете вводить обе фразы. Теперь, вы не будете вводить пароль, используя ssh, scp или sftp.
Программа ssh-agent может сохранять вашу секретную фразу, чтобы вам не понадобилось вводить её при каждом установлении соединения ssh или scp. Если вы не используете X Window System, выполните следующие действия в приглашении оболочки. Если вы используете GNOME, не не хотите, чтобы он спрашивал вас секретную фразу при регистрации (как описано в разделе Настройка ssh-agent в GNOME), эту процедуру можно выполнить в окне терминала, например xterm. Если вы используете X, но не GNOME, эти действия можно выполнить в окне терминала, например в xterm. Однако, ваша секретная фраза будет сохранена только в окне терминала; она не будет доступна глобально.
В приглашении оболочки выполните следующую команду:
exec /usr/bin/ssh-agent $SHELL |
ssh-add |
Когда вы завершите сеанс, ваша фраза будет забыта. Вы должны выполнять эти две команды каждый раз при регистрации на виртуальной консоли или открытии окна терминала.
[1] | Под символом ~ понимается домашний каталог пользователя, вошедшего в систему. Обратитесь к Официальному руководству по началам работы с Red Hat Linux за дополнительной информацией. |