Cамые нужные команд SSH
Запускай команды быстро
Чтобы выполнить всего одну удаленную команду, совсем не обязательно подключаться к SSH, вводить команду, а затем отключаться. Можно сделать это сразу. Например, так можно посмотреть заполненность ФС удаленной машины:
А так — перезагрузить ее:
Составляй списки команд и запускай их разом
Если у тебя есть целый список команд, которые следует выполнить, их можно записать в файл и скормить этот файл SSH:
Редактируй удаленные файлы локальным редактором
Чтобы отредактировать файл на удаленной машине, не требуется заходить на нее и использовать консольный редактор. На самом деле файл можно открыть в твоем любимом текстовом редакторе на локальной машине (gvim заменяем на свой редактор):
Копируй содержимое удаленного файла в буфер обмена
Если необходимо скопировать содержимое удаленного файла или вывод команды в буфер обмена, не обязательно выводить его на экран или открывать в текстовом редакторе и копировать вручную. Можно использовать следующую команду:
А так можно скопировать вывод команды:
Сравнивай удаленный и локальный файл без копирования
Похожий прием можно использовать для сравнения двух файлов:
Работай с удаленными файлами с помощью локального файлового менеджера
Не всегда удобно работать с большим количеством файлов с помощью консольных команд или mc, запущенного на удаленной машине. Но всегда можно подключить любой каталог удаленной машины как сетевой диск. Для этого достаточно установить sshfs:
Создать каталог для подключения «сетевого диска»:
И подключить его:
Теперь все файлы удаленного каталога /home/user будут видны в каталоге ~/remote_files/ и с ними можно работать, как с обычными.
Копируй ключи быстро
Хоть и копирование публичного ключа на удаленный сервер — задача простая, но она требует выполнения нескольких действий вручную. Если тебя это напpягает, скопировать ключ можно в автоматическом режиме:
При этом не обязательно копировать основной ключ, с помощью флага -i можно указать любой другой:
Создай постоянное соединение с машиной
Если в течение дня ты часто подключаешься к одной машине, в том числе на несколько минут или секунд (чтобы просто запустить одну команду, например), есть смысл создать с ней постоянное соединение. Твой комп будет держать соединение открытым и использовать его для каждого подключения к машине. Это намного быстрее и экономичнее с точки зрения трафика и нагрузки на процессор.
Добавь следующие строки в ~/.ssh/config:
А затем создай соединение:
Запускай команды быстро
Чтобы выполнить всего одну удаленную команду, совсем не обязательно подключаться к 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
❤3
Очистка метаданных контроллера домена в Active Directory
Довольно часто встречаются ситуации, когда контроллер домена оказывается удален без понижения роли, это может быть связано как с ошибками при понижении, так и с физическим выходом из строя, после чего в структуре Active Directiry остается информация (метаданные) несуществующего контроллера, что может приводить к различным ошибкам. Поэтому, если у вас произошла такая ситуация, следует обязательно выполнить очистку связанных с удаленным контроллером метаданных в базе Active Directory.
Для выполнения данной задачи могут быть использованы различные инструменты: оснастки MMC графической оболочки и утилиты командной строки, в данной статье мы рассмотрим оба способа.
https://telegra.ph/Ochistka-metadannyh-kontrollera-domena-v-Active-Directory-09-26
Довольно часто встречаются ситуации, когда контроллер домена оказывается удален без понижения роли, это может быть связано как с ошибками при понижении, так и с физическим выходом из строя, после чего в структуре Active Directiry остается информация (метаданные) несуществующего контроллера, что может приводить к различным ошибкам. Поэтому, если у вас произошла такая ситуация, следует обязательно выполнить очистку связанных с удаленным контроллером метаданных в базе Active Directory.
Для выполнения данной задачи могут быть использованы различные инструменты: оснастки MMC графической оболочки и утилиты командной строки, в данной статье мы рассмотрим оба способа.
https://telegra.ph/Ochistka-metadannyh-kontrollera-domena-v-Active-Directory-09-26
❤🔥2👍1
Как подключиться к контейнеру Docker по ssh
После того, как у вас появился контейнер Docker, работающий в системе Linux, одна из вещей, которые вам, вероятно, потребуется сделать, – это запустить команды внутри контейнера.
https://telegra.ph/Kak-podklyuchitsya-k-kontejneru-Docker-po-ssh-09-26
После того, как у вас появился контейнер Docker, работающий в системе Linux, одна из вещей, которые вам, вероятно, потребуется сделать, – это запустить команды внутри контейнера.
https://telegra.ph/Kak-podklyuchitsya-k-kontejneru-Docker-po-ssh-09-26
❤3
3 довольно неизвестных команды Docker, которые помогут вам в самых различных ситуациях
Если вы какое-то время используете Docker, у вас, вероятно, уже есть адаптированный для вас простой и эффективный рабочий процесс, который включает в себя некоторые из ваших любимых команд Docker (если это технически правильные подкоманды).
https://telegra.ph/3-dovolno-neizvestnyh-komandy-Docker-kotorye-pomogut-vam-v-samyh-razlichnyh-situaciyah-09-26
Если вы какое-то время используете Docker, у вас, вероятно, уже есть адаптированный для вас простой и эффективный рабочий процесс, который включает в себя некоторые из ваших любимых команд Docker (если это технически правильные подкоманды).
https://telegra.ph/3-dovolno-neizvestnyh-komandy-Docker-kotorye-pomogut-vam-v-samyh-razlichnyh-situaciyah-09-26
❤2
Чтобы разобраться с правами доступа к файлам в Linux, нам нужно понять, что такое Ownership и Permission.
Ownership
Каждому файлу или каталогу присваивается три типа прав собственности:
🔹Owner: Владелец - это пользователь, создавший файл или каталог.
🔹Group (группа): В группе может быть несколько пользователей. Все пользователи в группе имеют одинаковые разрешения на доступ к файлу или каталогу.
🔹Other: Другие - это пользователи, которые не являются владельцами или членами группы.
Permission
Существует только три типа разрешений для файла или каталога:
🔹Read (r): Разрешение на чтение позволяет пользователю читать файл.
🔹Write (w): Разрешение на запись позволяет пользователю изменять содержимое файла.
🔹Execute (x): Разрешение execute позволяет выполнять файл.
Ownership
Каждому файлу или каталогу присваивается три типа прав собственности:
🔹Owner: Владелец - это пользователь, создавший файл или каталог.
🔹Group (группа): В группе может быть несколько пользователей. Все пользователи в группе имеют одинаковые разрешения на доступ к файлу или каталогу.
🔹Other: Другие - это пользователи, которые не являются владельцами или членами группы.
Permission
Существует только три типа разрешений для файла или каталога:
🔹Read (r): Разрешение на чтение позволяет пользователю читать файл.
🔹Write (w): Разрешение на запись позволяет пользователю изменять содержимое файла.
🔹Execute (x): Разрешение execute позволяет выполнять файл.
👍2❤1
This media is not supported in your browser
VIEW IN TELEGRAM
Удаление строк, соответствующих шаблону, в Vim
•
•
https://vimtricks.com/p/remove-lines-matching-a-pattern-in-vim/
•
:g/pattern/d
— удалить строки, соответствующие шаблону•
:g!/pattern/d
— удалить строки, не соответствующие шаблонуhttps://vimtricks.com/p/remove-lines-matching-a-pattern-in-vim/
❤1
grep в Linux как инструмент для администрирования
Примеры использования.
Полный мануал по grep есть тут
grep
— утилита командной строки, используется для поиска и фильтрации текста в файлах, на основе шаблона, который (шаблон) может быть регулярным выражением.Примеры использования.
grep iodmin
grep iodmin file.txt
поиск iodmin в файле file.txt, с выводом полностью совпавшей строкойgrep -o iodmin file.txt
поиск iodmin в файле file.txt и вывод только совпавшего куска строкиgrep -i iodmin file.txt
игнорирование регистра при поискеgrep -bn iodmin file.txt
показать строку (-n) и столбец (-b), где был найден iodmingrep -v iodmin file.txt
инверсия поиска (найдет все строки, которые не совпадают с шаблоном iodmin)grep -A 3 iodmin file.txt
вывод дополнительных трех строк, после совпавшейgrep -B 3 iodmin file.txt
вывод дополнительных трех строк, перед совпавшейgrep -C 3 iodmin file.txt
вывод три дополнительные строки перед и после совпавшейgrep -r iodmin $HOME
рекурсивный поиск по директории $HOME и всем вложеннымgrep -c iodmin file.txt
подсчет совпаденийgrep -L iodmin *.txt
вывести список txt-файлов, которые не содержат iodmingrep -l iodmin *.txt
вывести список txt-файлов, которые содержат iodmingrep -w iodmin file.txt
совпадение только с полным словом iodmingrep -f iodmins.txt file.txt
поиск по нескольким iodmin из файла iodmins.txt, шаблоны разделяются новой строкойgrep -I iodmin file.txt
игнорирование бинарных файловgrep -v -f file2 file1 > file3
вывод строк, которые есть в file1 и нет в file2grep -in -e 'python' `find -type f`
рекурсивный поиск файлов, содержащих слово python с выводом номера строки и совпаденийgrep -inc -e 'test' find -type f | grep -v :0
рекурсивный поиск файлов, содержащих слово python с выводом количества совпаденийgrep . *.py
вывод содержимого всех py-файлов, предваряя каждую строку именем файлаgrep "Http404" apps/**/*.py
рекурсивный поиск упоминаний Http404 в директории apps в py-файлахПолный мануал по grep есть тут
👍2❤1
Облачные базы данных: Шпаргалка
В современном мире, основанном на данных, выбор правильной базы данных имеет решающее значение и в то же время сложен. Сейчас облако предлагает больше возможностей для структурированных, полуструктурированных и неструктурированных баз данных, чем когда-либо. Эта шпаргалка поможет выбрать наиболее подходящую для ваших нужд.
Структурированные базы данных📌
Структурированные базы данных организуют данные в предопределенные схемы и модели.
Реляционные базы данных, такие как MySQL и PostgreSQL, хранят данные в таблицах со строками и столбцами.
Колоночные базы данных, такие как Amazon Redshift и Google BigQuery, также имеют структурированную модель данных, но хранят их по-другому, оптимизируя для аналитических запросов.
Преимущества:
- Эффективные SQL-запросы
- Возможность применения ограничений и валидации
- Последовательность там, где это необходимо
Примеры использования: CRM-системы, управление запасами, бухгалтерский учет, аналитика
Полуструктурированные базы данных📌
Полуструктурированные базы данных обеспечивают гибкость, храня данные без соблюдения формальной схемы. Данные часто хранятся в виде JSON или других гибких форматов.
Примеры включают в себя документ-базы данных, такие как MongoDB, графовые базы данных, наподобие Neptune, широкие колоночные хранилища, такие как ScyllaDB, и хранилища ключ-значение, такие как DynamoDB.
Преимущества:
- Гибкость для изменяющихся данных
- Масштабируемость на разных серверах
Примеры использования: Электронная коммерция, ленты социальных сетей, данные IoT
Неструктурированные базы данных📌
Неструктурированные базы данных оптимизированы для хранения и обработки огромных объемов разнородных данных, таких как документы, изображения, видео. Примеры: AWS S3, Azure Blob Storage.
Преимущества:
- Хранение огромных объемов данных
- Высокая масштабируемость
Примеры использования: Медиарепозитории, управление контентом, океаны данных, журнальные данные, резервное копирование.
В современном мире, основанном на данных, выбор правильной базы данных имеет решающее значение и в то же время сложен. Сейчас облако предлагает больше возможностей для структурированных, полуструктурированных и неструктурированных баз данных, чем когда-либо. Эта шпаргалка поможет выбрать наиболее подходящую для ваших нужд.
Структурированные базы данных📌
Структурированные базы данных организуют данные в предопределенные схемы и модели.
Реляционные базы данных, такие как MySQL и PostgreSQL, хранят данные в таблицах со строками и столбцами.
Колоночные базы данных, такие как Amazon Redshift и Google BigQuery, также имеют структурированную модель данных, но хранят их по-другому, оптимизируя для аналитических запросов.
Преимущества:
- Эффективные SQL-запросы
- Возможность применения ограничений и валидации
- Последовательность там, где это необходимо
Примеры использования: CRM-системы, управление запасами, бухгалтерский учет, аналитика
Полуструктурированные базы данных📌
Полуструктурированные базы данных обеспечивают гибкость, храня данные без соблюдения формальной схемы. Данные часто хранятся в виде JSON или других гибких форматов.
Примеры включают в себя документ-базы данных, такие как MongoDB, графовые базы данных, наподобие Neptune, широкие колоночные хранилища, такие как ScyllaDB, и хранилища ключ-значение, такие как DynamoDB.
Преимущества:
- Гибкость для изменяющихся данных
- Масштабируемость на разных серверах
Примеры использования: Электронная коммерция, ленты социальных сетей, данные IoT
Неструктурированные базы данных📌
Неструктурированные базы данных оптимизированы для хранения и обработки огромных объемов разнородных данных, таких как документы, изображения, видео. Примеры: AWS S3, Azure Blob Storage.
Преимущества:
- Хранение огромных объемов данных
- Высокая масштабируемость
Примеры использования: Медиарепозитории, управление контентом, океаны данных, журнальные данные, резервное копирование.
👍3
Проверяем доступность портов с использованием nmap/netcat/telnet/nc
Доступность tcp-порта
netcat
сканер портов:
запустить netcat на хосте и слушать на tcp порте 4444:
а на другой машине проверить подключение к netcat, запущенному на другом хосте:
nc
telnet
nmap
Доступность udp-порта
netcat
nc
nmap
доступность порта udp 53:
Доступность 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 port
nc
nc -vu <ip> <port>
nmap
доступность порта udp 53:
nmap -sU -p U:53 11.1.11.12
👍4❤2😁1
Форматирование SD-карты, USB-накопителя, флэш-накопителя на Linux с помощью parted
Как человеку, работающему с операционными системами, компьютерами и электронными устройствами, вам зачастую необходимо отформатировать карту Micro SD, USB-накопитель / флэш-диск с разделом fat32 или чем то подобным.
В этом руководстве мы рассмотрим, как можно отформатировать USB-накопитель и SD-карту в любой системе Linux, используя утилиту CLI parted.
https://telegra.ph/Formatirovanie-SD-karty-USB-nakopitelya-flehsh-nakopitelya-na-Linux-s-pomoshchyu-parted-07-10
Как человеку, работающему с операционными системами, компьютерами и электронными устройствами, вам зачастую необходимо отформатировать карту Micro SD, USB-накопитель / флэш-диск с разделом fat32 или чем то подобным.
В этом руководстве мы рассмотрим, как можно отформатировать USB-накопитель и SD-карту в любой системе Linux, используя утилиту CLI parted.
https://telegra.ph/Formatirovanie-SD-karty-USB-nakopitelya-flehsh-nakopitelya-na-Linux-s-pomoshchyu-parted-07-10
👍1
Руководство по SSH-туннелям
В этой статье описаны случаи использования и примеры туннелей SSH с наглядным представлением потоков трафика. Например, здесь представлен обратный туннель, который позволяет только пользователям с IP-адреса 1.2.3.4 получить доступ к порту 80 на SSH-клиенте через SSH-сервер.
https://robotmoon.com/ssh-tunnels/
В этой статье описаны случаи использования и примеры туннелей SSH с наглядным представлением потоков трафика. Например, здесь представлен обратный туннель, который позволяет только пользователям с IP-адреса 1.2.3.4 получить доступ к порту 80 на SSH-клиенте через SSH-сервер.
https://robotmoon.com/ssh-tunnels/
👍3❤1