Команда ssh в Linux Bash

Команда ssh (Secure Shell) используется для безопасного подключения к удалённым машинам по сети через зашифрованный протокол. Это один из важнейших инструментов системного администратора и разработчика.

Основной синтаксис

ssh [опции] <пользователь>@<адрес_хоста>

Пример:

ssh user@192.168.1.10

Полезные опции

Опции команды ssh

Опция

Описание

-p <порт>

Указание порта подключения (по умолчанию 22).

-i <файл_ключа>

Использование приватного ключа для подключения.

-v, -vv, -vvv

Подробный режим вывода (debug).

-X или -Y

Перенаправление графических приложений через X11.

-L <локал>:<удалённый_хост>:<удалённый_порт>

Проброс локального порта.

-N

Не выполнять удалённую команду (полезно для проброса портов).

-T

Не выделять псевдотерминал.

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

  1. Базовое подключение:

    ssh pi@192.168.0.101
    
  2. С указанием порта:

    ssh -p 2222 user@example.com
    
  3. Подключение с ключом:

    ssh -i ~/.ssh/id_rsa admin@server.com
    
  4. Туннелирование порта (локальный прокси):

    ssh -L 8080:localhost:80 user@host
    
  5. Подключение без запуска команд (например, для проброса):

    ssh -N -L 5901:localhost:5901 user@remotehost
    

Настройка ключей SSH

  1. Генерация ключа:

    ssh-keygen -t rsa -b 4096
    
  2. Копирование ключа на сервер:

    ssh-copy-id user@remotehost
    
  3. Теперь можно подключаться без пароля!

Tip

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

Пример:

Host myserver
    HostName 192.168.1.5
    User pi
    Port 22
    IdentityFile ~/.ssh/id_rsa