Глава 17 Удаленный доступ 17.1. Введение

Удаленный доступ по праву считается одной из самых замечательных возможностей
Linux. Существует много способов организации удаленного доступа. В незащищен ных сетях не следует полагаться на старые механизмы telnet или X, поскольку инфор мация учетной записи и данные пересылаются в виде простого текста. Оптимальным
выбором станет OpenSSH (Secure SHell) — семейство из нескольких программ за щищенной пересылки данных: scp (Secure CoPy), ssh (Secure SHell) и sftp (Secure
File Transfer Protocol). Программа ssh является основным инструментом удаленного
администрирования; с ее помощью можно подключиться к удаленному компьютеру
и работать с ним так, словно вы физически работаете за этим компьютером. Инфор мация учетных записей и данные шифруются. Кроме того, ssh обнаруживает моди фикацию пакетов во время пересылки. Злоумышленники могут сколько угодно пе рехватывать пакеты и вносить в них изменения — они этим ничего не добьются.
В действительности SSH не является командным процессором (shell); это про токол. Существует две несовместимые версии этого протокола, SSH-1 и SSH-2.
OpenSSH поддерживает обе версии. В этой главе рассматривается версия SSH-2,
так как в работе следует использовать более современную версию OpenSSH.
ПРИМЕЧАНИЕ
Терминология SSH может сбить с толку непосвященных. SSH (прописными буквами) — название
протокола, тогда как ssh, scp и т. д. (строчными буквами) — программы, использующие SSH.
OpenSSH — реализация SSH, используемая в этой главе.
Работать с SSH несложно. Если ранее вам доводилось пользоваться rsh, rlogin
или rep, синтаксис командной строки почти не изменился. На всех компьютерах,
к которым должен предоставляться удаленный доступ, должен работать демон
OpenSSH sshd, а на всех удаленных компьютерах потребуются учетные записи.
Входить можно под любой учетной записью; главное, чтобы вы знали имя и пароль.
OpenSSH проводит аутентификацию с использованием пар из открытого и за крытого ключа. Закрытые ключи тщательно охраняются и никогда, ни при каких
условиях не передаются другим пользователям. Всегда используйте сильные па роли для шифрования и защиты закрытых ключей. По-настоящему сильный па роль состоит из нескольких слов и содержит буквы и цифры типа «t4is is mai 733t
s3kkrit p4ssphr4se». Как обычно, следует выдерживать баланс между надежнос тью и удобством, потому что пароль придется часто вводить.
Открытые ключи передаются удаленным клиентам и серверам SSH. Напри мер, при использовании аутентификации с ключом хоста открытый ключ серве ра хранится на клиентских компьютерах, которым разрешен доступ к серверу. Все
сеансы SSH начинаются с аутентификации. После того как открытый ключ уда ленного хоста будет скопирован в локальный каталог ~/.ssh, вы сможете подклю читься к удаленному хосту в качестве любого пользователя, используя данные
его учетной записи.
Если вы хотите, чтобы при аутентификации использовались ключи SSH (вме сто учетных данных пользователя), сгенерируйте собственную пару из открытого
и закрытого ключа и скопируйте открытый ключ на все удаленные хосты, к кото рым вы собираетесь подключаться. Чтобы схема заработала, достаточно выпол нить пару дополнительных шагов, описанных в этой главе. Такой вид аутентифи кации называется аутентификацией с открытым ключом.
Если вы собираетесь подключаться к многим удаленным компьютерам, управ ление входными данными начинает создавать проблемы. Использование одного
и того же открытого ключа и пароля создает потенциальную угрозу для безопас ности системы, но и запомнить слишком много имен и паролей тоже нелегко.
OpenSSH решает эту проблему за счет использования аутентификации с откры тым ключом, программ ssh-agent и keychain, позволяющих проводить защищен ную аутентификацию без пароля.