SSH - основной протокол и инструмент для управления удаленными серверами. Также позволяет создавать туннели и передавать файлы.
ssh [email protected]
SSH-клиент может работать без конфигурационного файла и получать все необходимые параметры из аргументов командной строки. Однако можно создать конфигурационный файл с именем ~/.ssh/config
. Этот файл должен содержать следующую информацию:
Host server-alias
HostName 192.168.1.1
User root
Port 222
IdentityFile ~/.ssh/server_ed25519
Host
- имя сервера. Это имя используется в команде подключения: ssh server-alias
HostName
- необязательный адрес сервера. Если HostName не определено, то соответствующий адрес или имя хоста должны быть определены в Host
User
- имя пользователяPort
- порт сервера. По умолчанию: 22
IdentityFile
- необязательное поле, указывающее полный путь к файлу закрытого ключаВ целях безопасности настоятельно рекомендуется использовать не пароли, а ключи аутентификации.
Чтобы сгенерировать ключ аутентификации, выполните следующую команду:
ssh-keygen -t ed25519 -f ~/.ssh/server_ed25519
ed25519
- выбирается тип шифрования. Ed25519 - оптимальный выбор~/.ssh/server_ed25519
- путь к файлу с закрытым ключом. Открытый ключ будет сгенерирован в виде ~/.ssh/server_ed25519.pub
После запуска команды будет предложено ввести пароль. Этот пароль обеспечивает дополнительный уровень безопасности и должен вводиться при подключении к серверу.
Открытый ключ представляет собой одну строку, имеющую следующий формат:
ssh-ed25519 AAAA...UUUU [email protected]
На сервере добавьте эту строку в файл ~/.ssh/authorized_keys
файл. Этот файл может содержать один или несколько ключей. Чтобы добавить открытый ключ, выполните следующую команду:
echo "ssh-ed25519 AAAA...UUUU [email protected]" >>~/.ssh/authorized_keys
Для копирования файлов на сервер используйте следующую команду:
scp FILE 192.168.1.1:REMOTE
FILE
- путь к файлу на локальном компьютере192.168.1.1
- адрес сервераREMOTE
- абсолютный путь к файлу на сервереЧтобы перенаправить трафик с удаленного сервера на локальный компьютер, используйте следующую команду:
ssh -L 4000:192.168.88.100:554 192.168.1.1
4000
- номер порта на локальном компьютере с ssh-клиентом192.168.88.100:554
- IP-адрес и номер порта на удаленном компьютере-fNT
- дополнительные опции для запуска SSH-клиента в фоновом режимеНапример, если удаленным адресом является IP-камера с потоковым адресом rtsp://admin:[email protected]:554/stream1
SSH будет пересылать все запросы на порт 4000
на эту камеру. После запуска потока его можно открыть в VLC, используя следующий URL: rtsp://admin:[email protected]:4000/stream1
.