


Сегодня в статье рассмотрим примеры использования SSH сессий в операционных системах семейства Linux.
SSH (Secure Shell) – это протокол для удаленного доступа к серверу через интернет. Это один из самых распространенных инструментов системного администрирования Linux. В этой статье мы рассмотрим несколько примеров использования SSH, которые помогут вам выйти на новый уровень удаленного системного администрирования.
SSH позволяет подключаться к удаленному серверу и работать с ним через командную строку. Это может быть полезно, если вы хотите получить доступ к серверу, находящемуся в другом городе или даже стране. Например, если у вас есть сервер с веб-приложением, которое нужно обновлять, вы можете использовать SSH для обновления сервера удаленно.
SSH также может быть использован для управления конфигурациями сервера. Например, вы можете создать скрипт, который будет автоматически обновлять конфигурации сервера при каждом запуске. Это поможет вам избежать ошибок и упростить процесс обновления.
SSH может использоваться для создания резервных копий сервера и восстановления его после сбоя. Например, вы можете настроить автоматическое копирование файлов на удаленный сервер и восстановление их при необходимости.
SSH можно использовать для мониторинга процессов на сервере и управления ими. Вы можете использовать команды типа “top” или “ps” для просмотра состояния процессов и управления ими через SSH.
SSH также можно использовать для управления пользователями и группами на сервере. Вы можете создавать новых пользователей, изменять их права доступа и удалять их через SSH.
Для подключения к удаленному серверу по SSH вам необходимо для начала установить сам клиент.
Apt:
sudo apt-get install ssh
Yum:
yum install openssh-clients
Синтаксис команды SSH выглядит следующим образом:
ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface]
[-b bind_address] [-c cipher_spec] [-D [bind_address:]port]
[-E log_file] [-e escape_char] [-F configfile] [-I pkcs11]
[-i identity_file] [-J [user@]host[:port]] [-L address]
[-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]
[-Q query_option] [-R address] [-S ctl_path] [-W host:port]
[-w local_tun[:remote_tun]] destination [command]
Правда запутанно и ничего не понятно. Давайте разберем классические примеры с использованием команды SSH.
В следующем примере используются обычные параметры, часто встречающиеся при подключении к удалённому серверу по SSH.
Откройте терминал и введите команду:
ssh username@server_ip
Хотя многие знакомы с файлом sshd_config, есть ещё файл конфигурации клиента для команды ssh. расположение по умолчанию ~/.ssh/config, откроем его на редактирование:
nano ~/.ssh/config
Введем следующие данные:
# Alias для подключения
Host myserver
# FQDN-имя или IP-адрес сервера
HostName myserver.com
# Имя юзера на сервера
User user
# Порт для подключения
Port 2222
# Идентификационный файл
IdentityFile /home/user/.ssh/myserver_rsa
В приведённом выше файле конфигурации ssh мы задали для хоста myserver параметры для подключения. Теперь чтобы подключиться к серверу достаточно набрать следующее:
ssh myserver
Данный файл конфигурации может сэкономить много времени на ввод параметров для подключения, позволяя автоматически применять продвинутую конфигурацию к конкретным хостам.
SSH-клиент поставляется с двумя очень удобными инструментами для копирования файлов по зашифрованному ssh-соединению. Обратите внимание, что многие параметры для ssh применяются и в этих командах. Первая команда для копирования файлов по SSH это команда scp.
scp /home/user/download/myfile.txt user@myserver:/media/share/user/
В этом примере файл myfile.txt расположенный в директории /home/user/download скопирован на хост myserver в директорию /media/share/user.
А вот пример с использованием нестандартного порта для подключения:
scp -P 2222 /home/user/download/myfile.txt user@myserver:/media/share/user/
Если необходимо ещё указать идентификационный файл, то команда примет вид:
scp -i /home/user/.ssh/myserver_rsa -P 2222 /home/user/download/myfile.txt user@myserver:/media/share/user/
Вторая команда для копирования файлов по SSH это команда sftp. Для тех, кто знаком с консольным ftp, многие из команд похожи и в sftp. Вы можете сделать push, put и ls.
sftp user@myserver
Указываем порт и идентификационный файл:
sftp -P 222 -i ~/.ssh/myserver_rsa user@myserver
SSH socks-proxy server и dynamic port forwarding – это способы обхода блокировок и ограничений на доступ к ресурсам в интернете. Они позволяют обойти ограничения доступа к сайтам, которые могут быть заблокированы провайдером интернета или правительством.
Socks-proxy server – это сервер, который находится за пределами зоны блокировок и перенаправляет запросы на нужные ресурсы через него. Для использования socks-proxy сервера нужно настроить его на локальном компьютере или на VPS-хостинге. Затем нужно настроить SSH-туннель на своем устройстве и указать socks-сервер в качестве прокси.
Dynamic port forwarding – это технология, которая позволяет динамически перенаправлять порты на локальном устройстве. Она работает на основе технологии SSH и позволяет обойти блокировки на уровне портов. Для использования dynamic port forwarding нужно настроить SSH на своем устройстве, а затем использовать специальные команды для перенаправления портов на нужный ресурс.
Оба метода имеют свои преимущества и недостатки, поэтому выбор зависит от конкретной ситуации и целей использования.
Клиент ssh может туннелировать трафик через прокси-сервер SOCKS одной простой командой.
ssh -D 8888 user@myserver
Проверим запустился ли наш Socks порт:
netstat -pan | grep 8888
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
tcp 0 0 127.0.0.1:8888 0.0.0.0:* LISTEN 2564/ssh
tcp6 0 0 ::1:8888 :::* LISTEN 2564/ssh
Из вывода мы видим что socks-прокси запустился на TCP-порту 8888, 127.0.0.1 указывает, что служба работает только на localhost. Мы можем применить немного другую команду для прослушивания всех интерфейсов, включая ethernet и wifi, это позволит другим приложениям (браузерам и т д.) в нашей сети подключаться к прокси-сервису через ssh socks-прокси.
ssh -D 0.0.0.0:8888 user@myserver
Теперь можем настроить браузер для подключения к socks-прокси. В Firefox выберите Настройки | Основные | Параметры соединения. Укажите IP-адрес и порт для подключения.

Обратите внимание на опцию в нижней части формы, чтобы DNS-запросы браузера тоже шли через прокси SOCKS. Если используете прокси-сервер для шифрования веб-трафика в локальной сети, то наверняка захотите выбрать эту опцию.
Запуск Chrome с определёнными параметрами командной строки активирует socks-прокси, а также туннелирование DNS-запросов из браузера. Доверяй, но проверяй. Используйте tcpdump для проверки, что DNS-запросы больше не видны. Для запуска в терминале набираем:
google-chrome --proxy-server="socks5://127.0.0.1:8888"
Для переадресации локального порта используется ключ -L. Общий синтаксис команды таков:
ssh -L local_ip:local_port:remote_ip:remote_port user@hostname.com
SSH-туннель просто открывает порт в вашей локальной системе, который подключается к другому порту на другом конце туннеля.
ssh -L 4444:127.0.0.1:80 user@myserver
В примере выше мы с удаленного хоста и его локального адреса 127.0.0.1 и порта 80, пробрасываем туннель на наш localhost на порт 4444.
Далее в примере порты прослушивания связываются с другими узлами локальной сети.
ssh -L 0.0.0.0:8080:127.0.0.1:80 user@myserver
Здесь мы подключаемся к порту 80 на удаленном веб-сервере и пробрасываем его на все наши адреса на порт 8080.
Мы можем использовать те же параметры для подключения туннеля с удалённого сервера к другой службе, запущенной на третьей системе.
ssh -L 0.0.0.0:8080:10.10.10.10:80 user@myserver
Здесь мы пробрасываем туннель к веб-серверу, работающему на 10.10.10.10:80 через myserver (10.10.10.10 находится за myserver) на нашу локальную машину на все адреса по порту 8080. Веб-сервер на 10.10.10.10 будет считать myserver источником веб-запросов.
Общий синтаксис команды выглядит так:
ssh -R remote_port:local_ip:local_port user@hostname.ru
Здесь настроим прослушивающий порт на удалённом сервере, который будет подключаться обратно к локальному порту на нашем localhost (или другой системе).
ssh -v -R 0.0.0.0:1999:127.0.0.1:902 192.168.0.2 user@myserver
В этой SSH-сессии устанавливается соединение с порта 1999 на myserver к порту 902 на нашем локальном клиенте.
ssh -R 8081:10.10.10.10:80 user@myserver
После ввода данной команды на удаленном хосте myserver будет доступ до веб-сервера 10.10.10.10:80 по адресу http://localhost:8081.
В этом случае мы устанавливаем socks-прокси на нашем ssh-соединении, однако прокси слушает на удалённом конце сервера. Подключения к этому удалённому прокси теперь появляются из туннеля как трафик с нашего localhost.
ssh -v -R 0.0.0.0:1999 192.168.1.100 user@myserver
Для создания туннеля, который будет активен постоянно используется так называемая утилита аutossh. Единственно требование это необходимость настройки между двумя системами аутентификацию по публичным ключам, чтобы не получать запросы на ввод пароля при каждом обрыве и восстановлении соединения.
По умолчанию, autossh не установлен в системе. Чтобы установить эту утилиту введем команду ниже.
sudo apt install autossh
Host myserver.ru
IdentityFile /home/myuser/.ssh/ssh_id
LocalForward 8080 127.0.0.1:80
myserver.ru в нашем случае)
8080 удаленного хоста myserver.ru на локальный адрес 127.0.0.1 и порт 80 соответственно.
autossh -M 0 -f -N ~/autossh_config
autossh в фоновом режиме.
autossh
Для запуска туннеля давайте наберем такую команду:
autossh -f -N -L 0.0.0.0:8080:10.10.10.10:80 user@myserver
Здесь мы пробрасываем туннель к веб-серверу, работающему на 10.10.10.10:80 через myserver (10.10.10.10 находится за myserver) на нашу локальную машину на все адреса по порту 8080. Веб-сервер на 10.10.10.10 будет считать myserver источником веб-запросов.
Тут есть несколько способов, но эта команда экономит время, чтобы не копировать файлы вручную. Она просто копирует ~/.ssh/id_rsa.pub (или ключ по умолчанию) с вашей системы в ~/.ssh/authorized_keys на удалённом сервере.
ssh-copy-id user@myserver
Команду ssh можно связать с другими командам для обычного удобного интерфейса. Просто добавьте команду, которую хотите запустить на удалённом хосте, в качестве последнего параметра в кавычках.
ssh myserver "cat /var/log/nginx/access.log" | grep badstuff.php
В данном примере grep выполняется на локальной системе после того, как лог скачался по ssh-каналу. Если файл большой, удобнее запустить grep на удалённой стороне, просто заключив обе команды в двойные кавычки.
Используем команду ниже для удалённого перехвата пакетов с выдачей результата непосредственно в GUI локального Wireshark.
ssh root@myserver 'tcpdump -c 1000 -nn -w - not port 22' | wireshark -k -i -
Красивый трюк, который сжимает папку с помощью bzip2 (это параметр -j в команде tar), а затем извлекает поток bzip2 на другой стороне, создавая на удалённом сервере дубликат папки.
localhost:~$ tar -cvj /datafolder | ssh remoteserver "tar -xj -C /datafolder"
Если на клиенте и удалённом сервере установлены «иксы», то можно удалённо выполнить команду GUI, с окном на вашем локальном рабочем столе. Эта функция существует давным давно, но по-прежнему очень полезна. Запустите удалённый веб-браузер или даже консоль VMWawre Workstation, как я делаю в этом примере.
ssh -X user@myserver vmware
Требуется строка X11Forwarding yes в файле sshd_config.
rsync во многом удобнее scp, если требуется периодическое резервное копирование каталога, большого количества файлов или очень больших файлов. Здесь есть функция восстановления после сбоя передачи и копирования только изменённых файлов, что сохраняет трафик и время.
В этом примере используется сжатие gzip (-z) и режим архивирования (-a), который включает рекурсивное копирование.
rsync -az /home/testuser/data myserver:backup/
Анонимная сеть Tor может туннелировать SSH-трафик с помощью команды torsocks. Следующая команда прокинет ssh-прокси через Tor.
torsocks ssh user@myserver
Torsocks будет использовать для прокси порт 9050 на localhost. Как всегда при использовании Tor необходимо серьёзно проверять, какой трафик туннелируется и другие проблемы операционной безопасности (opsec) куда идут ваши DNS-запросы.
Для всех любителей vimэтот совет сэкономит немного времени. С помощью vim файлы редактируются по scp одной командой. Этот метод просто создаёт файл локально в /tmp, а затем копирует его обратно, как только мы его сохранили из vim.
vim scp://user@myserver//etc/hosts
Примечание: формат немного отличается от обычного
scp. После хоста у нас двойной//. Это ссылка на абсолютный путь. Один слэш будет означать путь относительно домашней папкиusers.
SSHFS (SSH Filesystem) – это клиент файловой системы на основе fuse для монтирования удаленных каталогов по SSH-соединению. SSHFS использует протокол SFTP, который является подсистемой SSH и включен по умолчанию на большинстве серверов SSH.
При помощи sshfs мы можем подключить локальный каталог к удалённому серверу со всеми взаимодействиями файлов в зашифрованном сеансе ssh.
На Ubuntu и Debian установим пакет sshfs
sudo apt install sshfs
Примонтируем удалённый каталог к нашей системе.
sshfs user@myserver:/media/data ~/data/
myserver.
Чтобы смонтировать удаленный каталог через /etc/fstab, используйте fuse.sshfs в качестве типа файловой системы.
sudo nano /etc/fstab
root@myserver:/media/data /home/myuser/data/ fuse.sshfs defaults 0 0
Другой пример с дополнительными опциями:
user@myserver:/media/data /home/myuser/data/ fuse.sshfs defaults,idmap=user,allow_other,reconnect,_netdev,users,port=2222,IdentityFile=/home/myuser/.ssh/id_rsa,allow_other,reconnect 0 0
Размонтировать директорию можно командой:
fusermount -u /home/myuser/data/
По умолчанию при наличии существующего подключения к удалённому серверу с помощью ssh второе подключение с помощью ssh или scp устанавливает новый сеанс с дополнительной аутентификацией. Опция ControlPath позволяет использовать существующий сеанс для всех последующих соединений. Это значительно ускорит процесс: эффект заметен даже в локальной сети, а тем более при подключении к удалённым ресурсам.
Host remoteserver
HostName remoteserver.example.org
ControlMaster auto
ControlPath ~/.ssh/control/%r@%h:%p
ControlPersist 10m
ControlPath указывает сокет для проверки новыми соединениями на предмет наличия активной сессии ssh. Последняя опция означает, что даже после выхода из консоли существующий сеанс останется открытым 10 минут, так что в течение этого времени вы сможете повторно подключиться по существующему сокету. Для дополнительной информации смотрите справку ssh_config man.
Даже давние пользователи ssh и vlc (Video Lan Client) не всегда знают об этой удобной опции, когда очень нужно посмотреть видео по сети. В настройках File | Open Network Stream программы vlc можно ввести местоположение как sftp://myserver. Если требуется пароль, появится запрос.
sftp://myserver//media/uploads/myvideo.mkv
Если из-за сегментации сети приходится переходить через несколько хостов ssh, чтобы добраться до конечной сети назначения, вам сэкономит время ярлык -J.
ssh -J host1,host2,host3 myuser@myserver
Здесь главное понимать, что это не аналогично команде ssh host1, затем ssh host2 и т. д. Параметр -J хитро использует переадресацию, чтобы localhost устанавливал сеанс со следующим хостом в цепочке. Таким образом, в приведённом выше примере наш localhost аутентифицируется на host4. То есть используются наши ключи localhost, а сеанс от localhost до host4 полностью зашифрован.
Для такой возможности в ssh_config укажите опцию конфигурации ProxyJump. Если регулярно приходится переходить через несколько хостов, то автоматизация через конфиг сэкономит массу времени.
Любой, кто управлял сервисом SSH и просматривал логи, знает о количестве попыток брутфорса, которые происходят каждый час каждый день. Быстрый способ уменьшить шум в логах — перенести SSH на нестандартный порт. Внесите изменения в файл sshd_config с помощью параметра конфигурации Port.
С помощью iptables тоже можно легко блокировать попытки подключения к порту по достижении определённого порога. Простой способ сделать это — использовать OSSEC, поскольку он не только блокирует SSH, но выполняет кучу других мер по обнаружению вторжений на базе имени хоста (HIDS).
Эти примеры, советы и команды ssh должны дать отправную точку; дополнительная информация о каждой из команд и возможностей доступна на справочных страницах (man ssh, man ssh_config, man sshd_config).
[endtxt]
Нет более простого способа обновить свой стиль, чем с помощью новой пары очков. Те, кто носит очки, наверняка знают, что набор модных очков является естественным фокусом для лица.
Выделяйтесь из толпы, адаптируясь к последним тенденциям в области очков на 2023 год, в Оптика «Белая сова»: https://sokol-oren.ru/krasota_i_zdorove/optika-belaya-sova вы можете выбрать удобные и практичные готовые очки, не дожидаясь несколько недель или даже месяцев их изготовления. С таким количеством модных очков вы можете найти свою идеальную оправу, независимо от того, выписываете ли вы рецепт, нуждаетесь в синих световых очках или просто хотите сделать модное заявление.
Итак, какие очки в моде в этом году?
Модные оправы для очков никогда не повлияют на ваш рецепт или не уменьшат комфорт. Вот пример тенденций в области очков на 2023 год, на которые вам следует обратить внимание, чтобы начать новый год по-новому.
Очки, создающие впечатление, — это подкатегория очков, призванных сделать наряд популярным. Это последние штрихи, которые заставляют работать стиль.
Очки «кошачий глаз» продолжают доминировать в списке трендов очков. выпуски популярного стиля 2023 года будут представлять собой потрясающую смесь высокой моды и эклектичного дизайна. Геометрические очки в форме кошачьих глаз придают новые очертания форме вашего лица и подчеркивают вашу индивидуальность. Такие очки удобны для людей с круглыми лицами, поскольку очки с кошачьими глазами придают им четкость.
Очки в прозрачной оправе вдохновили бесчисленных дизайнеров по всему миру на то, чтобы включить идею прозрачности в свои дизайны. Линзы с прозрачной оправой — одна из лучших инвестиций в моду, которую вы можете сделать в 2023 году. Это верно как для мужчин, так и для женщин. Кроме того, их прозрачность придает современный вид любому образу. Очки по рецепту врача не являются исключением, и они дополняют любую форму лица или цвет лица.
Мода — это не прямая линия, а круг знакомства и утончения. И ничто так не воплощает это, как тенденции в области очков в 2023 году. Прекрасным примером являются квадратные ретро-очки в стиле 1970-х годов. Они всегда славились своей долговечностью, но теперь этот винтажный вид снова вошел в моду, так что приготовьтесь произвести впечатление.
Известные своей долговечностью и прочностью, металлические очки — это простой способ придать очкам модный вид. Не все продано? Взгляните на шикарные оправы, которые могут убедить вас.
Геометрические детали играют большую роль в модных очках на 2023 год. В моде четкие шестиугольники и жесткие квадраты, четкие линии и захватывающие формы. Очки в геометрической оправе с толстой оправой являются одними из ключевых тенденций в области очков, потому что они подходят практически к любой форме лица, что делает их очень модным трендом.
Наденьте большие круглые очки. Будьте смелыми и элегантными одновременно с этим классическим трендом, который вернулся. Круглая форма очков – такая, как у нас в стиле Франклина, – значительно вернулась к 2023 году.
Оправы из черепахового панциря предлагают узор, не похожий ни на один другой. Каждый кадр предлагает что-то уникальное, и это само определение стиля, который никто другой не может скопировать. Забудьте о скучных коричневых черепаховых оправах. С целым спектром цветов, побалуйте свою творческую сторону.
Удивительно, но цветные стекла — это последний стиль очков, который вернулся в моду. В частности, оправы из хрусталя уже попали в весенние каталоги большинства модниц. Оправы из хрусталя имеют приглушенные оттенки и излучают яркость, когда погода начинает нагреваться.
Пыльно-розовый нюд с полупрозрачной поверхностью уже заперт на год вперед. Несмотря на то, что яркие полупрозрачные очки остались в прошлом и сохранили свою популярность, в этом году выбирайте более теплую часть радуги. Добавьте эту оригинальную оправу к своему образу и выделитесь, как глоток свежего воздуха.
Ни один стиль не определяет тренды очков на 2023 год. Современная мода на очки — это все о инклюзивности. Найдите свой идеальный стиль из списка выше и просмотрите, чтобы найти форму, цвет и стиль, которые улучшат ваш общий образ.
У вас есть новый ПК с Windows 11 или вы только что установили операционную систему самостоятельно? Возможно, вам придется поделиться своим компьютером с другими, поэтому вы должны добавить нового пользователя в Windows 11. Если это так, вы находитесь в правильном месте. В этом руководстве я покажу вам, как создать и добавить нового пользователя в Windows 11. Читать