Cамые нужные команд SSH
Запускай команды быстро
Чтобы выполнить всего одну удаленную команду, совсем не обязательно подключаться к SSH, вводить команду, а затем отключаться. Можно сделать это сразу. Например, так можно посмотреть заполненность ФС удаленной машины:
А так — перезагрузить ее:
Составляй списки команд и запускай их разом
Если у тебя есть целый список команд, которые следует выполнить, их можно записать в файл и скормить этот файл SSH:
Редактируй удаленные файлы локальным редактором
Чтобы отредактировать файл на удаленной машине, не требуется заходить на нее и использовать консольный редактор. На самом деле файл можно открыть в твоем любимом текстовом редакторе на локальной машине (gvim заменяем на свой редактор):
Копируй содержимое удаленного файла в буфер обмена
Если необходимо скопировать содержимое удаленного файла или вывод команды в буфер обмена, не обязательно выводить его на экран или открывать в текстовом редакторе и копировать вручную. Можно использовать следующую команду:
А так можно скопировать вывод команды:
Сравнивай удаленный и локальный файл без копирования
Похожий прием можно использовать для сравнения двух файлов:
Работай с удаленными файлами с помощью локального файлового менеджера
Не всегда удобно работать с большим количеством файлов с помощью консольных команд или mc, запущенного на удаленной машине. Но всегда можно подключить любой каталог удаленной машины как сетевой диск. Для этого достаточно установить sshfs:
Создать каталог для подключения «сетевого диска»:
И подключить его:
Теперь все файлы удаленного каталога /home/user будут видны в каталоге ~/remote_files/ и с ними можно работать, как с обычными.
Копируй ключи быстро
Хоть и копирование публичного ключа на удаленный сервер — задача простая, но она требует выполнения нескольких действий вручную. Если тебя это напpягает, скопировать ключ можно в автоматическом режиме:
При этом не обязательно копировать основной ключ, с помощью флага -i можно указать любой другой:
Создай постоянное соединение с машиной
Если в течение дня ты часто подключаешься к одной машине, в том числе на несколько минут или секунд (чтобы просто запустить одну команду, например), есть смысл создать с ней постоянное соединение. Твой комп будет держать соединение открытым и использовать его для каждого подключения к машине. Это намного быстрее и экономичнее с точки зрения трафика и нагрузки на процессор.
Добавь следующие строки в ~/.ssh/config:
А затем создай соединение:
👉@linuxchmod
Запускай команды быстро
Чтобы выполнить всего одну удаленную команду, совсем не обязательно подключаться к SSH, вводить команду, а затем отключаться. Можно сделать это сразу. Например, так можно посмотреть заполненность ФС удаленной машины:
$ ssh user@host df -hА так — перезагрузить ее:
$ ssh user@host sudo rebootСоставляй списки команд и запускай их разом
Если у тебя есть целый список команд, которые следует выполнить, их можно записать в файл и скормить этот файл SSH:
$ ssh user@host "`cat file.txt`"Редактируй удаленные файлы локальным редактором
Чтобы отредактировать файл на удаленной машине, не требуется заходить на нее и использовать консольный редактор. На самом деле файл можно открыть в твоем любимом текстовом редакторе на локальной машине (gvim заменяем на свой редактор):
$ gvim scp://user@host//путь/к/файлуКопируй содержимое удаленного файла в буфер обмена
Если необходимо скопировать содержимое удаленного файла или вывод команды в буфер обмена, не обязательно выводить его на экран или открывать в текстовом редакторе и копировать вручную. Можно использовать следующую команду:
$ ssh user@host cat /путь/к/файлу | xclipА так можно скопировать вывод команды:
$ ssh user@host uname -a | xclipСравнивай удаленный и локальный файл без копирования
Похожий прием можно использовать для сравнения двух файлов:
$ ssh user@host cat /путь/к/удаленному/файлу | diff /путь/к/лoкальному/файлу -Работай с удаленными файлами с помощью локального файлового менеджера
Не всегда удобно работать с большим количеством файлов с помощью консольных команд или mc, запущенного на удаленной машине. Но всегда можно подключить любой каталог удаленной машины как сетевой диск. Для этого достаточно установить sshfs:
$ sudo apt-get install sshfsСоздать каталог для подключения «сетевого диска»:
$ mkdir remote_filesИ подключить его:
$ sshfs user@host:/home/user ~/remote_files/Теперь все файлы удаленного каталога /home/user будут видны в каталоге ~/remote_files/ и с ними можно работать, как с обычными.
Копируй ключи быстро
Хоть и копирование публичного ключа на удаленный сервер — задача простая, но она требует выполнения нескольких действий вручную. Если тебя это напpягает, скопировать ключ можно в автоматическом режиме:
$ ssh-copy-id user@hostПри этом не обязательно копировать основной ключ, с помощью флага -i можно указать любой другой:
$ ssh-copy-id -i ~/my_key.pub user@hostСоздай постоянное соединение с машиной
Если в течение дня ты часто подключаешься к одной машине, в том числе на несколько минут или секунд (чтобы просто запустить одну команду, например), есть смысл создать с ней постоянное соединение. Твой комп будет держать соединение открытым и использовать его для каждого подключения к машине. Это намного быстрее и экономичнее с точки зрения трафика и нагрузки на процессор.
Добавь следующие строки в ~/.ssh/config:
Host host
ControlPath ~/.ssh/master-%r@%h:%p
ControlMaster noА затем создай соединение:
$ ssh -MNf user@host👉@linuxchmod
👍6🔥1
Контроль оплаты домена через Zabbix
Позвонил клиент, говорит почта не работает. Стал смотреть – домен отключен за не оплату, бухгалтерия забыла оплатить счет. Подумалось, что неплохо бы видеть какие домены в ближайшее время тоже потребуют продления. Будем для этого использовать Zabbix.
На сервере с Zabbix’ом установим Zabbix-агент. Он и будет у нас заниматься проверкой наших доменов.
https://telegra.ph/Kontrol-oplaty-domena-cherez-Zabbix-12-17
👉@linuxchmod
Позвонил клиент, говорит почта не работает. Стал смотреть – домен отключен за не оплату, бухгалтерия забыла оплатить счет. Подумалось, что неплохо бы видеть какие домены в ближайшее время тоже потребуют продления. Будем для этого использовать Zabbix.
На сервере с Zabbix’ом установим Zabbix-агент. Он и будет у нас заниматься проверкой наших доменов.
https://telegra.ph/Kontrol-oplaty-domena-cherez-Zabbix-12-17
👉@linuxchmod
👍5
Проброс и перенаправление портов в iptables
Проброс трафика за NAT или проброс трафика на другой сервер
Чаще всего проброс трафика используется, если мы находимся в локальной сети и от внешнего мира отделены шлюзом. Для того, чтобы открыть доступ для локальных служб (ssh, web, ftp), нам необходимо пробросить порты. Поскольку в качестве шлюза мы будем использовать сервер на Linux, то осуществлять данные действия будем с помощью iptables.
https://telegra.ph/Probros-i-perenapravlenie-portov-v-iptables-12-17
👉@linuxchmod
Проброс трафика за NAT или проброс трафика на другой сервер
Чаще всего проброс трафика используется, если мы находимся в локальной сети и от внешнего мира отделены шлюзом. Для того, чтобы открыть доступ для локальных служб (ssh, web, ftp), нам необходимо пробросить порты. Поскольку в качестве шлюза мы будем использовать сервер на Linux, то осуществлять данные действия будем с помощью iptables.
https://telegra.ph/Probros-i-perenapravlenie-portov-v-iptables-12-17
👉@linuxchmod
👍5
Gitlab ci/cd
В прод с помощью GITLAB CI/CD. На простом примере. Основы.
GITLAB CI/CD vs JENKINS. Что выбрать для своих CI CD pipeline?
GITLAB CI CD сокращаем код. Gitlab ci include, extends, reference, remote, local
Docker BUILD в GITLAB CI CD и kubernetes. Как правильно? Бонус настройка gitlab runner
источник
👉@linuxchmod
В прод с помощью GITLAB CI/CD. На простом примере. Основы.
GITLAB CI/CD vs JENKINS. Что выбрать для своих CI CD pipeline?
GITLAB CI CD сокращаем код. Gitlab ci include, extends, reference, remote, local
Docker BUILD в GITLAB CI CD и kubernetes. Как правильно? Бонус настройка gitlab runner
источник
👉@linuxchmod
👍7
Проверяем доступность портов с использованием nmap/netcat/telnet/nc
Доступность tcp-порта
netcat
сканер портов:
запустить netcat на хосте и слушать на tcp порте 4444:
а на другой машине проверить подключение к netcat, запущенному на другом хосте:
netcat domain.com 4444
nc
telnet
nmap
Доступность udp-порта
netcat
nc
nmap
👉@linuxchmod
Доступность tcp-порта
netcat
netcat [options] host portсканер портов:
netcat -z -v domain.com 1-1000запустить netcat на хосте и слушать на tcp порте 4444:
netcat -l 4444а на другой машине проверить подключение к netcat, запущенному на другом хосте:
netcat domain.com 4444
nc
nc -vt <ip> <port>telnet
telnet <ip> <port>nmap
порт 25 tcp: nmap -p25 11.11.11.11Доступность udp-порта
netcat
netcat -u host portnc
nc -vu <ip> <port>nmap
доступность порта udp 53: nmap -sU -p U:53 11.1.11.12👉@linuxchmod
👍9
Стандартные инструменты для диагностики системы Linux
Ядро:
*
*
*
* l
*
Ввод/вывод:
*
*
*
*
blktrace
Системные и библиотечные вызовы:
*
*
Аппаратные счётчики:
*
*
Сеть:
*
*
*
*
*
*
*
*
Процессы:
*
*
*
*
Процессор:
*
*
*
Универсальные:
*
*
*
*
*
👉@linuxchmod
Ядро:
*
perf — (в прошлом performance counters for Linux) — доступ к различным внутренним счётчикам ядра; незаменимый инструмент для выполнения профайлинга ядра/операционной системы*
ftrace — трассировщик вызовов функций внутри ядра Linux*
stap — скриптовый язык и инструмент для комплексной диагностики ядра и процессов Linux* l
ttng — (Linux Trace Toolkit Next Generation) инструмент для трассировки ядра, программ и библиотек Linux*
bcc (BPF) — (сравнительно) новый и очень мощный инструмент для трассировки и манипуляции ядром Linux, основанный на Berkeley Packet Filter, позволяет делать космические вещиВвод/вывод:
*
iostat (sysstat) — статистика ввода/вывода по заданному устройству (количество операций записи/чтения в единицу времени, скорость записи/чтения)*
pidstat (sysstat) — нагрузка на процессор, память и устройства от конкретного процесса (заданного по имени или номеру)*
pcstat — использование кэша (какой процент файла попадает в кэш, какой нет)*
lsof — информация об открытых процессом файлахblktrace
Системные и библиотечные вызовы:
*
strace — информация о системных вызовов, выполняемых процессом, позволяет понять или по крайней мере лучше разобраться, почему процесс висит или потребляет много ресурсов*
ltrace — трассировка библиотечных вызовов (которые не обязательно являются системными)Аппаратные счётчики:
*
tiptop — информация о процессах в реальном времени, похожа на top, но в отличие от него данные преимущественно берутся с аппаратных счётчиков*
numastat — просмотр информации об использовании памяти процессами/процессорами в системах с NUMA-архитектуройСеть:
*
netstat — классический инструмент для просмотра конфигурации сети (сокетов, интерфейсов и так далее)*
ss — socket statistics, позволяет получить информацию об открытых сокетах и их состоянии (похожа на netstat, но умеет больше)*
ethtool — просмотр настроек и состояния ethernet-интерфейса*
snmpget — получение данных по SNMP*
lldptool — настройка LLDP и просмотр данных LLDP*
nicstat — статистика использования сетевой карты (сетевого интерфейса)*
ip — конфигурация и статистика стека TCP/IP Linux*
ifstat — статистика использования сетевого интерфейса в реальном времениПроцессы:
*
top — информация о наиболее активных (наиболее ресурсоёмки) процессах + общая информация о системе*
vmstat — данные об использовании виртуальной памяти*
free — информация о свободной памяти, кэше, буферах*
slabtop — информация о заполнении SLAB-кэшаПроцессор:
*
mpstat (sysstat) — общая информация об использовании процессора (одного или всех процессоров)*
turbostat (kernel-tools) — информация о топологии процессора, частоте, питании, температуре*
rdmsr — (Read from Model Specific Register) чтение из моделезависимых регистров (позволяет оценить использование LLC-кэша и прочее)Универсальные:
*
sar — (system activity report) информация о системной активности в реальном времени (диск, память, процессор и так далее)*
dstat — универсальный инструмент для сбора информации о системе (vmstat, iostat, netstat, ifstat и ещё много других в одном флаконе)*
dmesg — журнал сообщений ядра с момента загрузки системы*
/proc — псевдофайловая система предоставляющая доступ к внутренним данным/счётчикам ядра*
sysdig — универсальный инструмент для сбора и анализа данных о системе (сотни различных источников скомбинированные вместе)👉@linuxchmod
👍10🥰1
Горячие клавиши для работы в терминале Linux
Перемещение по строке
или
Сочетания клавиш для редактирования строки в терминале.
Редактирование строки
Backspace,
Сочетания клавиш для просмотра истории команд.
История команд
Сочетания клавиш для управления выводом информации на экран.
Вывод на экран
👉@linuxchmod
Перемещение по строке
← , → или Ctrl + b, Ctrl + f Смещение курсора на один символ левее или правее.Ctrl + →, Ctrl + ←или
Alt + b, Alt + f Смещение курсора на одно слово влево или вправоCtrl + a, Home Установить курсор в начало строкиCtrl + e, End Установить курсор в конец строкиCtrl + xx Переход между двумя последними позициями курсораСочетания клавиш для редактирования строки в терминале.
Редактирование строки
Tab, Ctr + i Автодополнение команды или путиTab, tab или Alt + ?(Shift+/) Представление вариантов автодополненияBackspace,
Ctrl + h Удаление символа перед курсоромCtrl + d Удалить символ за курсоромCtrl + w или Alt + Backspace Удалить все символы от курсора до пробела слеваAlt + d, Esc + d Удалить символы от курсора до конца словаCtrl + y Вставить слова, которые были удалены с помощью Alt+d, Ctrl+wAlt + \ Удалить любое количество пробелов вместе, где стоит курсор.Alt + r, Esc + r Отменить все изменения внесенные в строкуAlt + c Изменить регистр буквы под курсором на заглавный и переместить курсор в конец словаAlt + u Изменить регистр всех букв от курсора до конца слова на верхний регистрAlt + l Изменить регистр всех букв от курсора до конца слова на нижний регистрAlt + t Поменять местами слово под курсором и предыдущее словоCtr + t Переместить символ перед курсором под курсорCtrl + _(Sift+-) Откат редактирования (Undo)Сочетания клавиш для просмотра истории команд.
История команд
Ctrl + r Поиск ранее введенной команды в истории↑, ↓ или Ctrl + p, Ctrl + n Перемещение по истории ранее введенных команд и путейCtrl + o Вызвать последнею введенную командуAlt + . или Esc + . Вставить аргумент команды, выполненной ранееAlt + < (Shift+,) Повторить первую команду в буфере историиСочетания клавиш для управления выводом информации на экран.
Вывод на экран
Ctrl + l Очистка окна терминалаCtrl + s Заморозить терминалCtrl + q Продолжить работу терминалаCtrl + c Прервать работу терминальной утилитыCtrl + z Перевести работу терминальной утилиты в фоновый режимCtrl + d Выйти из командной оболочки bash👉@linuxchmod
👍7
Создаем логические тома LVM на Linux
Система хранения данных – один из тех кардинальных компонентов, без которых ваш сервер не может обойтись, и поэтому требует к себе пристального внимания, несмотря ни на что.
Это краткое руководство по внедрению LVM на вашем linux-сервере или рабочей станции.
👉@linuxchmod
Система хранения данных – один из тех кардинальных компонентов, без которых ваш сервер не может обойтись, и поэтому требует к себе пристального внимания, несмотря ни на что.
Это краткое руководство по внедрению LVM на вашем linux-сервере или рабочей станции.
👉@linuxchmod
👍4
Шпаргалка по работе с Tmux
tmux — это менеджер терминалов, к которому удобно подключаться и отключаться, не теряя при этом процессы и историю. Как screen, только лучше (в первую очередь потому, что использует модель клиент—сервер).
Очень хороший способ запустить tmux:
После этого вы попадаете в полноценную консоль.
В одной сессии может быть сколько угодно окошек:
В одном окошке может быть много панелей:
Недостаток — непривычным становится скроллинг:
👉@linuxchmod
tmux — это менеджер терминалов, к которому удобно подключаться и отключаться, не теряя при этом процессы и историю. Как screen, только лучше (в первую очередь потому, что использует модель клиент—сервер).
Очень хороший способ запустить tmux:
tmux attach || tmux new — делая так, вы сперва пытаетесь подключиться к уже существующему серверу tmux, если он существует; если такого ещё нет — создаёте новый.После этого вы попадаете в полноценную консоль.
Ctrl+b d — отключиться. (Точно так же вы отключитесь, если прервётся соединение. Как подключиться обратно и продолжить работу — см. выше.)В одной сессии может быть сколько угодно окошек:
Ctrl+b c — создать окошко;Ctrl+b 0...9 — перейти в такое-то окошко;Ctrl+b p — перейти в предыдущее окошко;Ctrl+b n — перейти в следующее окошко;Ctrl+b l — перейти в предыдущее активное окошко (из которого вы переключились в текущее);Ctrl+b & — закрыть окошко (а можно просто набрать exit в терминале).В одном окошке может быть много панелей:
Ctrl+b % — разделить текущую панель на две, по вертикали;Ctrl+b " — разделить текущую панель на две, по горизонтали (это кавычка, которая около Enter, а не Shift+2);Ctrl+b →←↑↓ — переходить между панелями;Ctrl+b x — закрыть панель (а можно просто набрать exit в терминале).Недостаток — непривычным становится скроллинг:
Ctrl+b PgUp — вход в «режим копирования», после чего:PgUp, PgDown — скроллинг;q — выход из «режима копирования».👉@linuxchmod
👍9🥰1
This media is not supported in your browser
VIEW IN TELEGRAM
Как удалить файлы в системах Linux или UNIX с помощью команды rm
Как удалить файлы в операционной системе Linux / UNIX / * BSD / AIX / HP-UX с помощью параметров командной строки?
Чтобы удалить или удалить файл или папку в операционной системе Linux, FreeBSD, Solaris, macOS или Unix, используйте команду rm или команду unlink. В этой статье объясняется, как удалить определенный файл в Linux или Unix-подобной системе с помощью параметра командной строки.
👉@linuxchmod
Как удалить файлы в операционной системе Linux / UNIX / * BSD / AIX / HP-UX с помощью параметров командной строки?
Чтобы удалить или удалить файл или папку в операционной системе Linux, FreeBSD, Solaris, macOS или Unix, используйте команду rm или команду unlink. В этой статье объясняется, как удалить определенный файл в Linux или Unix-подобной системе с помощью параметра командной строки.
👉@linuxchmod
👍4
Уроки по Linux
Команда AWK bash скрипты по-взрослому.
Редактируем текст в linux c SED
GREP регулярные выражения. Поиск в Linux
Менеджер пакетов apt. Установка из ppa virtualbox
Запуск задач по расписанию linux. Cron и его маленький секрет
Процессы Linux. От рождения до смерти. Делаем процесс милым (nice, renice)
источник
👉@linuxchmod
Команда AWK bash скрипты по-взрослому.
Редактируем текст в linux c SED
GREP регулярные выражения. Поиск в Linux
Менеджер пакетов apt. Установка из ppa virtualbox
Запуск задач по расписанию linux. Cron и его маленький секрет
Процессы Linux. От рождения до смерти. Делаем процесс милым (nice, renice)
источник
👉@linuxchmod
👍8🥰1