Утилита ssh#

ssh (SSH-клиент) - это утилита для входа и выполнения команд на удаленной машине. Она обеспечивает безопасную зашифрованную связь между двумя ненадежными хостами по небезопасной сети. Соединения X11 и произвольные TCP-порты также могут перенаправляться через защищенный канал.

ssh подключается и входит в систему с указанным именем хоста и именем пользователя (опционально). Пользователь должен подтвердить свою личность на удаленной машине одним из нескольких способов в зависимости от используемой версии протокола SSH.

Синтаксис утилиты:

ssh <options> <username>@<hostname> <command> <arguments>

Где:

  • <options> - опции;

  • <username> - имя пользователя;

  • <hostname> - имя хоста;

  • <command> - команда;

  • <arguments> - аргументы.

Если задана команда, она выполняется на удаленном хосте вместо оболочки входа. Можно добавить дополнительные агрументы, разделив их пробелами.

Часто используемые опции утилиты представлены в таблице ниже.

Опция

Описание

-1

Принудительное использование протокола SSH версии 1

-2

Принудительное использование протокола SSH версии 2

-4

Принудительное использование адреса IPv4

-6

Принудительное использование адреса IPv6

-A

Перенаправление соединения агента аутентификации. Можно указывать для каждого хоста в файле конфигурации ~/.ssh/config

-a

Отключение перенаправления соединения агента аутентификации

-C

Сжатие данных (включая stdin, stdout, stderr и данные для пересылаемых подключений X11, TCP и UNIX-доменов). Рекомендуется при медленных соединениях. Также можно указать значение по умолчанию для каждого хоста в файле конфигурации ~/.ssh/config

-f

Переход в фоновый режим перед выполнением команды

-g

Обращение удаленных машин к локальным портам

-i <identity_file>

Указание файла, из которого считается идентификатор (закрытый ключ) для аутентификации с открытым ключом

-l <username>

Указание имени пользователя для входа в систему при подключении к удаленной машине. Также можно указать для каждого хоста в файле конфигурации ~/.ssh/config

-n

Перенаправление стандартного вывода в /dev/null. Рекомендуется использовать в фоновом режиме. Не сработает, если ssh необходимо запросить пароль или кодовую фразу

-o <options>

Указание опций в формате, используемом в файле конфигурации

-p <port>

Указание порта для подключения к удаленной машине. Также можно указать для каждого хоста в файле конфигурации ~/.ssh/config

-q

Отключение сообщений об ошибках

-v

Включение режима отладки. Рекомендуется при отладке проблем с соединением, аутентификацией и конфигурацией. Применение нескольких опций -v повышает детализацию. Максимальное значение - 3

-X

Включение переадресации X11. Также можно указать для каждого хоста в файле конфигурации ~/.ssh/config

-x

Отключение переадресации X11

Примеры использования#

  • Для подключения к удаленной машине используйте команду:

    ssh <ip_adress>
    

    В результате выполнения команды подключение к удаленной машине произойдет по IP-адрессу <ip_adress>.

    Либо команду:

    ssh <hostname>
    

    В результате выполнения команды подключение к удаленной машине произойдет по хосту <hostname>.

  • Для подключения к удаленной машине с указанием имени пользователя используйте команду:

    ssh <username>@<hostname_or_ip_adress>
    

    В результате выполнения команды подключение пользователя <username> к удаленной машине произойдет по IP-адресу <ip_adress> или хосту <hostname>.

  • Для подключения к удаленной машине с настраиваемым номером порта SSH используйте команду:

    ssh <ip_adress> -p <port>
    

    В результате выполнения команды подключение к удаленной машине произойдет по IP-адресу <ip_adress> с настраиваемым номером порта <port>.

  • Для выполнения команды на удаленной машине используйте команду:

    ssh <username>@<hostname> <command>
    

    В результате выполнения команды пользователь <username> на хосте <hostname> выполнит команду <command>.

  • Для создания резервной копии диска на удаленной машине и сохранения ее в файл, используйте команду:

    sudo dd if=<harddisk_filename> | ssh <username>@<hostname> `dd of=<harddisk_filename>.img`
    

    В результате выполнения команды пользователь <username> на хосте <hostname> создаст резервную копию диска <harddisk_filename> и сохранит ее в файл.