Утилита ssh#

Описание#

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

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

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

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

Где:

  • <options> - опции;

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

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

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

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

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

Опции#

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

Опции ssh#

Опция

Описание

-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> и сохранит ее в файл.

Дополнительная информация#

Дополнительную информацию можно получить, выполнив команду:

ssh --help