SSH. Описание команд

    SSH – основное средство для удалённого управления серверами. Также позволяет пробрасывать TCP соединения и передавать файлы

    Подключение к серверу

    ssh 192.168.1.1
    

    Конфигурация клиента

    SSH клиент может работать без файла конфигурации и получать все необходимые параметры при старте. Но удобней создать файл конфигурации: ~/.ssh/config

    Host 192.168.1.1
        User root
        Port 222
        IdentityFile ~/.ssh/server_ed25519
    
    • 192.168.1.1 - адрес сервера
    • User - имя пользователя
    • Port - порт сервера, по умолчанию: 22
    • IdentityFile - файл приватного ключа, если используется авторизацию по ключу

    Создание ключа

    ssh-keygen -t ed25519 -f ~/.ssh/server_ed25519
    
    • ed25519 - выбор типа шифрования, Ed25519 - оптимальный выбор
    • ~/.ssh/server_ed25519 - путь к файлу с ключём. также будет создан публичный ключ: ~/.ssh/server_ed25519.pub

    После запуска команда попросит ввести пароль - дополнительный уровень безопастности, этот пароль необходимо указывать при подключении к серверу.

    Публичный ключ необходимо добавить на сервере в файл ~/.ssh/authorized_keys. В файле может быть несколько ключей

    Копирование файлов

    Для копирования файлов на сервер

    scp LOCAL 192.168.1.1:REMOTE
    
    • LOCAL - путь к файлу на локальном компьютере
    • 192.168.1.1 - адрес сервера
    • REMOTE - абсолютный путь к файлу на сервере

    Проброс порта

    С сервера на локальный компьютер

    ssh -L 4000:127.0.0.1:8000 192.168.1.1
    
    • 4000 - порт на локальном компьютере
    • 127.0.0.1:8000 - адрес и порт на удалённом компьютере
    • -fNT - запустить SSH-клиента в фоне

    Например в локальной сети удалённого сервера есть IP-камера с адресом потока: rtsp://admin:123@10.0.0.101:554/stream1 Для проброса потока на локальный компьютер:

    ssh -fNT -L 10554:10.0.0.101:554 192.168.1.1
    

    После запуска поток можно открыть в VLC: rtsp://admin:123@127.0.0.1:10554/stream1