💡 Полезные Советы
Как настроить SSH Config и перестать путаться в ключах и IP-адресах
Если ваша работа или хобби связаны с IT, вы наверняка регулярно подключаетесь к удаленным машинам. Поднять личный VPN на Amnezia, настроить Outline, закинуть скрипт на рабочий сервер или поковырять домашнюю медиастанцию - для всего этого мы используем SSH.
Но когда серверов становится больше двух, начинается классическая боль. Приходится держать в голове (или в бесконечных заметках) кучу IP-адресов, логинов и путей к SSH-ключам.
Вместо того чтобы каждый раз набирать монструозные конструкции вроде:
ssh -i ~/.ssh/vpn_private_key root@44.158.22.1...можно настроить всё так, чтобы подключаться к любому серверу в два слова.
Сегодня на www.riopass.ru разберем, как один простой текстовый файл сэкономит вам массу времени и нервов.
Знакомьтесь: файл конфигурации SSH
Вся магия скрывается в файле config, который лежит в директории с вашими SSH-ключами.
- Для Windows:
C:\Users\ИмяПользователя\.ssh\config (или %USERPROFILE%\.ssh\config) - Для Linux / macOS:
~/.ssh/config
Если такого файла у вас в папке .ssh еще нет - просто создайте его (это обычный текстовый файл без расширения, , а просто не config.txtconfig).
Пример идеальной конфигурации
Давайте посмотрим на реальный пример. Допустим, у нас есть три разных сервера с разными ключами. Открываем наш файл config в любом текстовом редакторе и пишем:
Host amnezia
HostName 44.158.22.1
User root
IdentityFile ~/.ssh/vpn
Host outline
HostName 98.145.22.3
User root
IdentityFile ~/.ssh/german
Host server
HostName 98.145.22.154
User root
IdentityFile ~/.ssh/serverРазбираем теорию: что означают эти параметры?
Структура файла максимально проста и логична:
Host- это алиас (псевдоним), который вы придумываете сами. Именно это слово вы будете писать в терминале. Назвать можно как угодно:amnezia,work-pc,my-pi5.HostName- реальный IP-адрес вашего сервера (или доменное имя).User- имя пользователя, под которым вы логинитесь (чаще всего это root, но может быть ubuntu, pi, admin и т.д.).IdentityFile- полный путь к вашему приватному SSH-ключу от этого конкретного сервера.
Важное примечание для пользователей Windows: в параметре IdentityFile можно использовать пути в стиле Linux (~/.ssh/vpn), современные версии OpenSSH в Windows 10/11 отлично их понимают.
Как это работает на практике?
Теперь магия в действии. Открываем терминал и вместо того, чтобы судорожно искать IP-адрес и нужный ключ, просто пишем:
ssh amneziaИ всё! Система сама посмотрит в config, поймет, что под словом amnezia скрывается адрес 44.158.22.1, возьмет пользователя root и подсунет нужный ключ ~/.ssh/vpn.
Точно так же, для подключения к серверу Outline:
ssh outlineПару советов напоследок
- Права доступа (для Linux/macOS): SSH очень ревностно относится к безопасности. Убедитесь, что у вашего файла конфигурации стоят правильные права доступа, иначе SSH может отказаться его читать. Выполните команду: chmod 600 ~/.ssh/config.
- Организация: Если серверов станет совсем много, вы можете оставлять в файле config комментарии, используя символ #. Например: # Мои личные VPN-серверы.
Настроив этот файл один раз, вы больше никогда не запутаетесь в ключах и IP-адресах.
Делаем SSH еще удобнее
Но если базовая настройка вас уже не впечатляет, давайте добавим пару параметров, которые используют настоящие джедаи терминала. Их можно прописать как для конкретного сервера, так и для всех сразу.
1. Чтобы соединение не "отваливалось" (ServerAliveInterval)
Знакомая ситуация: вы подключились к серверу, отошли заварить кофе, возвращаетесь, а терминал завис и не реагирует на нажатия клавиш. Это происходит из-за того, что провайдеры или домашние роутеры автоматически обрывают неактивные сетевые сессии.
Чтобы этого избежать, добавим в самый верх файла config глобальное правило:
Host *
ServerAliveInterval 60Звездочка Host * означает, что правило применится ко всем серверам. Теперь ваш компьютер будет каждые 60 секунд отправлять "невидимый" пинг (keep-alive пакет), чтобы дать понять маршрутизаторам: "Эй, мы тут работаем, соединение не рвать!".
2. Проброс портов (LocalForward): безопасный доступ к закрытым админкам
Допустим, на вашем домашнем сервере или Raspberry Pi крутится свежий проект на FastAPI, локальная база данных или какая-нибудь веб-админка, которая слушает только локальный порт (например, 8000). Открывать этот порт наружу в интернет - плохая идея с точки зрения безопасности.
Тут на помощь приходит проброс портов через SSH-туннель:
Host dev-server
HostName 98.145.22.154
User root
IdentityFile ~/.ssh/server
LocalForward 8000 localhost:8000Что это дает? Как только вы подключаетесь командой ssh dev-server, SSH создает защищенный туннель. Теперь вы можете просто открыть браузер на своем рабочем компьютере, вбить http://localhost:8000, и вы попадете прямо в админку удаленного сервера! Трафик при этом будет полностью зашифрован.
3. Прыжок через сервер (ProxyJump): доступ к закрытым сетям
Представьте ситуацию: у вас есть домашняя Raspberry Pi или рабочий сервер базы данных, к которому нет прямого доступа из интернета (он спрятан за NAT или корпоративным фаерволом). Чтобы на него попасть, вам нужно сначала подключиться к определенному серверу-шлюзу (Bastion host), и уже с него заходить на целевую машину.
Раньше приходилось делать это в два этапа или, что еще хуже, хранить свои приватные SSH-ключи на промежуточном сервере-шлюзе (что категорически нельзя делать из соображений безопасности).
С параметром ProxyJump вы можете сделать это одной командой, а все ключи останутся только на вашем компьютере:
# Сначала описываем наш сервер-шлюз (через который будем прыгать)
Host gateway
HostName 98.145.22.154
User root
IdentityFile ~/.ssh/server
# Теперь описываем закрытый сервер
Host secret-pi
HostName 192.168.1.50 # Внутренний IP-адрес в закрытой сети!
User pi
IdentityFile ~/.ssh/pi_key
ProxyJump gatewayКак это работает? Когда вы пишете в терминале ssh secret-pi, ваш SSH-клиент сам понимает, что нужно сделать:
- Он молча подключается к
gateway. - Прямо внутри этого соединения создает безопасный туннель до внутреннего адреса
192.168.1.50. - Авторизуется на secret-pi, используя ваш локальный ключ
~/.ssh/pi_key.
Вы сразу попадаете в консоль целевого сервера, как будто подключились к нему напрямую. Быстро, безопасно и максимально элегантно.
Файл ~/.ssh/config - это тот самый инструмент, настройка которого занимает 10 минут, но экономит часы рабочего времени и спасает нервные клетки в будущем. Начните с простых алиасов, а когда почувствуете себя уверенно - экспериментируйте с пробросом портов и прыжками через хосты.
Глоссарий: по терминам из статьи
- SSH (Secure Shell) - сетевой протокол, который позволяет безопасно (в зашифрованном виде) управлять удаленным компьютером или сервером через командную строку.
- SSH-ключ (IdentityFile) - криптографический файл, который работает как ваш цифровой пропуск. Состоит из двух частей: открытого ключа (хранится на сервере) и закрытого (хранится у вас). Позволяет входить на сервер без ввода пароля, что гораздо безопаснее и удобнее.
- Алиас (Host / Псевдоним) - короткое и понятное выдуманное имя (например,
amneziaилиhome-pi), которое заменяет собой длинный IP-адрес для удобства ввода команд. - Проброс портов (Port Forwarding / SSH-туннелирование) - создание защищенного "коридора" внутри SSH-соединения. Позволяет безопасно прокинуть локальный порт удаленного сервера на ваш рабочий компьютер, чтобы открыть закрытую веб-админку в своем браузере.
- Bastion Host (Сервер-шлюз / Jump Server) - промежуточный сервер, имеющий выход в интернет, через который осуществляется доступ к внутренним, изолированным от сети серверам. Именно для прыжка через него мы используем параметр
ProxyJump. - Keep-alive пакеты - специальные "пустые" сигналы, которые ваш компьютер периодически отправляет на сервер, чтобы сетевое оборудование провайдера не разорвало соединение из-за долгого бездействия (настраивается параметром
ServerAliveInterval). - NAT (Network Address Translation) - механизм в маршрутизаторах, который позволяет нескольким устройствам в домашней или корпоративной сети выходить в интернет под одним общим («белым») IP-адресом. Из-за NAT к внутренним устройствам (например, домашней Raspberry Pi) нельзя напрямую подключиться извне без дополнительных настроек (таких как VPN или ProxyJump).
Как часто нужно обновлять SSH ключи?
Коротко: большинство экспертов рекомендуют менять SSH‑ключи раз в 6 - 12 месяцев, но частота зависит от уровня риска и требований безопасности. Современные рекомендации подчёркивают, что ключи нельзя оставлять "вечными", потому что со временем они превращаются в скрытый риск для инфраструктуры.
1. Для личных проектов и своего сервера
Рекомендуемая частота: Раз в 1 год (или даже реже).
Для личного использования (если вы единственный администратор) частая смена ключей может создать больше проблем, чем пользы (например, риск потерять доступ при неправильной замене). Главное правило: Меняйте ключ немедленно, если:
Вы потеряли ноутбук или флешку с ключом.
Вы подозреваете, что ваш компьютер был заражен вирусом.
Вы случайно "засветили" приватный ключ (выложили на GitHub, отправили в чат и т.д.).
2. Для работы и продакшна (Лучшая Практика)
Рекомендуемая частота: Раз в 3-6 месяцев.
В корпоративной среде риски выше.
Стандарт PCI DSS (для работы с картами), из-за него многие корпоративные регламенты требуют ротацию каждые 90 дней (корпоративной среде существует огромная разница между "что написано в стандарте" и "что требуют аудиторы / безопасники на местах".)
Это защищает от сценария, когда ключ был украден тихо (без вашего ведома) и злоумышленник использует его месяцами.
PCI DSS (Payment Card Industry Data Security Standard) - это "золотой стандарт" безопасности для любой организации, которая хранит, обрабатывает или передает данные банковских карт (Visa, Mastercard, МИР).
SSH - это главная дверь для управления сервером. Если ваш сервер имеет отношение к платежам или картам, то настройки SSH становятся объектом пристального внимания аудиторов PCI DSS.
Даже если вы не банк, требования PCI DSS полезно знать, потому что это готовая инструкция "как сделать действительно безопасно".
1. Запрет прямого входа root (Требование 8.6)
Что требует стандарт: Каждое действие на сервере должно быть привязано к конкретному человеку. Если все заходят под общим логином
root, то в логах будет видно «root удалил базу данных», но непонятно, кто именно это был - Вася или Петя.Ваша ситуация: Вы только что создали личного пользователя (
h...) и отключилиPermitRootLogin. Это полное соответствие стандарту. Теперь в логах будет видно: "Пользовательh...повысил права до root и удалил базу".2. Запрет простых паролей и использование криптографии (Требование 2.3)
Что требует стандарт: Для административного доступа через интернет нужно использовать сильную криптографию. Передача паролей в открытом виде запрещена.
Ваша ситуация: SSH сам по себе шифрует трафик. А отключение входа по паролю (
PasswordAuthentication no) и переход на ключи - это лучшая практика (Best Practice), которую аудиторы очень любят.3. Регулярная смена ключей (Требование 3.6.4)
Что требует стандарт: Криптографические ключи (Ключи шифрования данных (Data Encryption Keys)) должны меняться по расписанию (обычно каждые 90 дней), а старые - уничтожаться.
Что это: Это ключи, которыми шифруется сама база данных с номерами карт. Если хакер украдет этот ключ и дамп базы, он сможет прочитать номера карт.
Почему: Потому что эти ключи используются автоматически программами. Если такой ключ утечет, вы не узнаете об этом годами. Поэтому их принудительно меняют, чтобы ограничить объем данных, которые можно расшифровать одним ключом.
4. Не использовать "дефолтные" настройки (Требование 2.1)
Что требует стандарт: Нельзя использовать пароли и настройки, которые идут "из коробки" (vendor-supplied defaults).
Ваша ситуация: Вы уже изменили порт (если меняли?), отключили рута, создали своего юзера. Вы уже не используете дефолт.
Стандарт PCI DSS настоятельно рекомендует (а версия 4.0 требует) двухфакторную аутентификацию (MFA) даже для администраторов. PCI DSS не предписывает конкретный метод, например "SSH‑ключ + код Google Authenticator". Он требует наличия MFA, а конкретная реализация остаётся на усмотрение организации!
3. Критические ситуации (Менять немедленно)
В этих случаях расписание не имеет значения - нужно действовать сразу:
Увольнение сотрудника. Если ушел админ или разработчик, все ключи, к которым он имел доступ, должны быть удалены с серверов, а оставшиеся сотрудники должны сгенерировать новые.
Скомпрометированное устройство. Логика "я почистил компьютер антивирусом, значит всё в порядке" здесь не работает. Вирусы (трояны, стилеры) настроены искать именно файлы в папке
.ssh. Как только вирус попадает на компьютер, он мгновенно копирует эти файлы и отправляет их злоумышленнику. Вы можете возразить: "Но у меня ключ защищен паролем (passphrase)!". Если устройство скомпрометировано, скорее всего, на нем работал кейлоггер (программа, записывающая нажатия клавиш). Когда вы вводили пароль, чтобы разблокировать ключ, хакер получил и файл ключа, и пароль к нему.Смена алгоритмов шифрования. Если вы использовали старые ключи
RSA-1024илиDSA(которые сейчас считаются слабыми), их нужно срочно заменить на современныеEd25519илиRSA-4096.
Частая ошибка при обновлении
Многие думают, что создание нового ключа автоматически отменяет старый. Это не так. SSH-сервер пускает по списку ключей. Если вы добавите новый ключ, но забудете удалить строку со старым ключом из файла ~/.ssh/authorized_keys, то старый ключ продолжит работать.
Правильный алгоритм ротации:
Сгенерировать новую пару ключей (
ssh-keygen -t ed25519).Добавить новый публичный ключ на сервер.
Проверить вход с новым ключом.
Удалить старый публичный ключ из файла
authorized_keysна сервере.Удалить старый приватный ключ с локального компьютера.
Windows? История "ОС-Франкенштейна"
В мире IT принято считать, что Linux - это прямой потомок и идейный наследник Unix. Но если задать тот же вопрос про Windows, ответ будет похож на запутанный детектив. Мы разобрались в генеалогическом древе самой популярной ОС в мире и выяснили, что Windows - это своего рода "Франкенштейн", сшитый из трёх совершенно разных легендарных систем.

1 . VMS (Душа и Ядро) - Самый важный предок
Если вы спросите системного архитектора, на что похожа Windows внутри (на уровне ядра), он ответит: "На VMS". Это самый важный, но наименее известный широкой публике предок.
В конце 80-х Билл Гейтс осознал, что архитектура MS-DOS и ранних Windows 95 - это тупик. Они были ненадежными и не подходили для серьезных серверов. Ему нужна была "тяжелая артиллерия".
Что сделал Гейтс? Он переманил к себе главного архитектора системы OpenVMS из компании DEC - Дэйва Катлера. Гейтс дал ему огромный бюджет и карт-бланш с одной целью: создать "убийцу Unix". Так родилась Windows NT (New Technology), ядро которой работает сегодня в вашем компьютере.
Интересный факт: Управление памятью, драйверами и процессами в Windows идеологически взято из VMS. Существует легенда, что название WNT — это шифр. Если взять аббревиатуру VMS и сдвинуть каждую букву на одну вперед по алфавиту, получится:
V → W
M → N
S → T
Итог: WNT (Windows NT).
2 . CP/M (Скелет и привычки) - Откуда взялись диски C:\
Если "мозги"(ядро) Windows получила от VMS, то свои старые привычки и логику работы с файлами она унаследовала от системы CP/M (созданной Гэри Килдалом).
Именно отсюда растут корни тех вещей, которые десятилетиями удивляют пользователей Linux и macOS:
Буквы дисков: Почему система стоит на диске
C:, а неA:? Потому что в CP/M и первых DOS буквыAиBбыли зарезервированы под дискеты. Эта архаичная структура жива до сих пор.Обратный слеш: Использование
\вместо привычного для всего остального мира/в путях к файлам - тоже наследие CP/M и MS-DOS.Имена файлов: Привычка давать файлам расширения из трех букв (
.txt,.exe,.jpg) родилась из старого ограничения "8.3" (8 букв на имя, 3 на расширение).
3 . Xerox Alto и Mac OS (Лицо) - Откуда взялись окна
Внутренности от VMS и скелет от CP/M нужно было продать пользователям. Для этого требовалась красивая обертка.
Вдохновение для графического интерфейса Microsoft черпала в разработках лаборатории Xerox PARC и, позже, у Apple. Билл Гейтс, как и Стив Джобс, увидел будущее за окнами, мышкой и иконками. Первая Windows была попыткой "натянуть" красивый интерфейс (как у Mac) на старый костяк MS-DOS (клон CP/M).
4 . Заключение
В отличие от Linux, который стремился быть "свободным Unix", Windows создавалась как коммерческий продукт-победитель. Microsoft не стеснялась брать лучшие идеи отовсюду:
Ядро (Kernel): От VMS. Это дало надежность и многозадачность.
Структура (CLI): От CP/M. Это подарило нам диск
C:и командную строку.Интерфейс (GUI): От Xerox/Apple. Это дало нам окна и курсор мыши.
Теперь, когда вы видите синий экран загрузки или открываете "Мой компьютер", вы знаете: перед вами результат слияния трех великих технологий прошлого.
5 фактов о Bash: Шутка программистов, на которой держится весь Linux
Вы открываете терминал каждый день, видите привычный значок $ и пишете команды. Но задумывались ли вы, почему черное окно называется Bash? За этим странным словом скрывается каламбур, библейская отсылка и история борьбы за свободу кода.
Вот 5 фактов о Bash, которые должен знать каждый.
1. Скрытый смысл названия
Аббревиатура BASH расшифровывается как Bourne Again SHell. Это игра слов, которая работает на двух уровнях:
Прямой смысл: "Ещё одна оболочка Борна" (потому что она была создана как замена старой оболочке Bourne shell).
Ироничный смысл: Созвучно с выражением "Born Again" ("рожденный заново" или "возрожденный").
Суть шутки: Старая проприетарная оболочка "умерла" для сообщества из-за закрытой лицензии, а новая возродилась как феникс из пепла, став полностью свободной и ещё более мощной.
2. Кто такой Борн и при чем тут он?
Чтобы понять шутку, перенесемся в 1977 год. В легендарных лабораториях Bell Labs (где придумали Unix и C) работал британец Стивен Борн (Stephen Bourne). Он написал программу sh (shell - оболочка), которая стала стандартом общения человека с машиной. Её так и называли - "Оболочка Борна".
Но была проблема: sh принадлежала корпорации AT&T. Она была закрытой и платной. Вы не могли просто взять её и поставить на свой компьютер.
3. Рождение Bash (GNU и Брайан Фокс)
В 80-х Ричард Столлман запустил проект GNU. Его мечта была дерзкой: создать полностью свободную операционную систему. Им нужны были свои, бесплатные аналоги всех программ: свой редактор, свой компилятор и, конечно, своя оболочка.
Столлман нанял программиста Брайана Фокса (Brian Fox). В 1989 году Фокс выпустил первую версию Bash. Он сделал так, чтобы новая оболочка понимала все команды старой sh (для совместимости), но была удобнее и, главное, абсолютно бесплатной. Именно Фокс придумал название Bourne Again Shell как дань уважения Стивену Борну.
Интересный факт: Брайан Фокс создал Bash, но работал над ним всего пару лет. Настоящий герой - Чет Рэми (Chet Ramey). Он поддерживает и развивает Bash с начала 90-х - уже более 30 лет! Если вы сегодня найдете баг в Bash, вам ответит именно Чет.
4. Почему Bash есть в каждом Linux?
Когда в 1991 году Линус Торвальдс написал ядро Linux, у него был, по сути, только "двигатель". Ему нужны были "руль и колеса" - программы для управления ядром. Он не стал писать их с нуля, а взял готовые инструменты от проекта GNU. Поскольку Bash был лучшей свободной оболочкой на тот момент, он сразу попал в первые дистрибутивы.
С тех пор это стандарт: ставишь Linux - получаешь Bash.
5. Терминал и Bash - не одно и то же
Новички часто путают эти понятия, но разница важна:
📺 Терминал (GNOME Terminal, Putty, Console) - это "телевизор". Это просто окно, которое показывает текст и передает нажатия клавиш.
👨💻 Bash - это "телеведущий". Это программа, которая сидит внутри терминала, читает ваши команды (
ls,cd,mkdir), понимает их и запускает процессы.
Linux Cheat Sheet: Справочник полезных команд с примерами
🖥 Информация об оборудовании и системе
Команды для диагностики "железа" и ядра. Многие из них требуют прав root.
Сообщения ядра (dmesg):
dmesg | less(Показывает события, произошедшие при загрузке.| lessпозволяет листать вывод).Информация о процессоре:
cat /proc/cpuinfoили более наглядно:lscpuОперативная память (RAM):
free -h(Флаг-hпоказывает размер в Mb/Gb).Конфигурация всего оборудования:
sudo lshw -short(Краткий список всего "железа").Блочные устройства (диски, флешки):
lsblkPCI-устройства (видеокарты, сетевые карты):
lspci -tvUSB-устройства:
lsusb -tvИнформация из BIOS (DMI):
sudo dmidecodeИнформация о параметрах диска:
sudo hdparm -i /dev/sda(Заменитеsdaна имя вашего диска).Тест скорости чтения диска:
sudo hdparm -tT /dev/sdaПроверка диска на битые сектора:
sudo badblocks -s /dev/sda
📂 Файлы и Навигация
Базовое управление файловой системой.
Список файлов:
ls -lh(Показывает размеры файлов в удобном виде).Показать вообще все файлы (включая скрытые):
ls -aГде я сейчас? (Текущий каталог):
pwdСоздать папку:
mkdir [имя_папки](Используйтеmkdir -p папка/подпапка, чтобы создать структуру вложенных папок).Создать пустой файл:
touch [имя_файла]Копирование файла:
cp [источник] [назначение]Копирование папки (рекурсивно):
cp -r [папка_источник] [папка_назначение]Перемещение или переименование:
mv [старое_имя] [новое_имя]Удаление файла:
rm [имя_файла]Удаление папки (Осторожно!):
rm -rf [имя_папки](Удаляет рекурсивно и без вопросов).Символическая ссылка (ярлык):
ln -s /путь/к/файлу [имя_ссылки]
Просмотр содержимого:
cat [файл]— вывести весь файл.less [файл]— прокрутка длинного файла.head [файл]— первые 10 строк.tail [файл]— последние 10 строк.tail -f [файл]— следить за новыми строками в файле (логи) в реальном времени.
🔍 Поиск
Поиск текста в файле (grep):
grep "текст" [файл]Рекурсивный поиск текста в папке:
grep -r "текст" [папка]Поиск файла по имени (find):
find [где_искать] -name "имя_файла"Пример:
find /home -name "*.jpg"Поиск файлов по размеру:
find / -size +100M(Найти файлы больше 100 Мб).Быстрый поиск по базе имен:
locate [имя_файла]
📦 Архивация и сжатие
Создать архив (tar):
tar cf архив.tar [файл_или_папка]Распаковать архив (tar):
tar xf архив.tarСоздать сжатый архив (tar.gz):
tar czf архив.tar.gz [папка]Распаковать сжатый архив (tar.gz):
tar xzf архив.tar.gzСжать файл (gzip):
gzip [файл](Создаст файл.gz и удалит оригинал).
👥 Пользователи и Группы
Команды для администрирования. Требуют sudo.
Кто я?
whoamiКто в системе?
wилиwhoДобавить пользователя:
sudo adduser [имя]Добавить группу:
sudo groupadd [группа]Добавить пользователя в группу:
sudo usermod -aG [группа] [пользователь]Удалить пользователя:
sudo userdel [пользователь]
🛡 Права доступа (Permissions)
В Linux права записываются тремя цифрами (Владелец-Группа-Остальные) или буквами (r=чтение, w=запись, x=исполнение).
Сделать файл исполняемым:
chmod +x [файл]Полные права всем (777 - опасно!):
chmod 777 [файл]Стандартные права для файлов (755):
chmod 755 [файл](Владелец может всё, остальные — только читать и исполнять).Изменить владельца файла:
sudo chown [юзер]:[группа] [файл]
⚙️ Управление процессами
Диспетчер задач (Top):
topилиhtop(если установлен).Список всех процессов:
ps auxДерево процессов:
pstreeУбить процесс по ID (PID):
kill [PID]Убить процесс по имени:
pkill [имя_процесса](Например:pkill firefox).Список открытых файлов:
lsof
🌐 Сеть
Показать IP-адреса:
ip addr show(современный вариант) илиifconfig(устаревший).Показать открытые порты:
sudo netstat -tulpn(Илиss -tulpn— более современный аналог).Проверить доступность хоста:
ping [google.com]Узнать владельца домена:
whois [домен]DNS-запросы:
dig [домен]илиhost [домен]Скачать файл:
wget [ссылка]Копировать файл на сервер (SCP):
scp [файл] user@host:/путь/куда/кластьСинхронизация папок (Rsync):
rsync -avz [откуда] [куда]
📥 Установка программ (Пакетные менеджеры)
Команды зависят от вашего дистрибутива.
Debian / Ubuntu / Mint (APT):
sudo apt update— обновить список пакетов.sudo apt install [пакет]— установить.sudo apt remove [пакет]— удалить.
CentOS / RHEL (YUM/DNF):
sudo yum install [пакет]sudo dnf install [пакет](для новых версий).
⌨️ Полезные горячие клавиши терминала
Эти сочетания сэкономят вам часы работы.
| Сочетание | Действие |
|---|---|
| Ctrl + C | Прервать выполнение текущей команды |
| Ctrl + Z | Приостановить процесс (отправить в фон) |
| Ctrl + D | Разлогиниться (аналог exit) |
| Ctrl + L | Очистить экран (аналог clear) |
| Ctrl + A | Курсор в начало строки |
| Ctrl + E | Курсор в конец строки |
| Ctrl + R | Поиск по истории введенных команд |
| Tab | Автодополнение имен файлов и команд (нажимать дважды) |
🔧 Использование диска
Свободное место на дисках:
df -hРазмер папки:
du -sh [папка](Покажет суммарный вес указанной директории).Список разделов:
sudo fdisk -lМонтирование:
sudo mount /dev/[устройство] /mnt/[папка]