Linux - Использование SSH ключа вместо Пароля | SSH Key Pair
Как создать ключ SSH на Linux и Windows
Как настроить логин для SSH ключей
Как логиниться с SSH ключем
Linux - Использование множества SSH ключей для подключения на разные Linux | ssh config
Создание файла ssh config для логина на разные Linux сервера используя разные ssh ключи
источник
👉 @linuxchmod
Как создать ключ SSH на Linux и Windows
Как настроить логин для SSH ключей
Как логиниться с SSH ключем
Linux - Использование множества SSH ключей для подключения на разные Linux | ssh config
Создание файла ssh config для логина на разные Linux сервера используя разные ssh ключи
источник
👉 @linuxchmod
🔥2🥰1🏆1
This media is not supported in your browser
VIEW IN TELEGRAM
Dynamic-wallpaper
Простой bash-скрипт для установки обоев в зависимости от текущего времени, используя планировщик заданий cron.
Описание
25+(более) различных типов обоев (HD/UHD/4K/5K).
Добавлена поддержка pywal.
Пользователи могут добавлять свои собственные обои.
С помощью Cron обои меняются в зависимости от времени в течение дня.
Протестировано на :
Оконные менеджеры: Openbox, i3wm, bspwm, awesomewm, Fluxbox, Fvwm, Swaywm.
Окружения рабочего стола : KDE, Pantheon, Gnome, Deepin, Cinnamon, XFCE, LXDE, MATE
https://github.com/adi1090x/dynamic-wallpaper
👉 @linuxchmod
Простой bash-скрипт для установки обоев в зависимости от текущего времени, используя планировщик заданий cron.
Описание
25+(более) различных типов обоев (HD/UHD/4K/5K).
Добавлена поддержка pywal.
Пользователи могут добавлять свои собственные обои.
С помощью Cron обои меняются в зависимости от времени в течение дня.
Протестировано на :
Оконные менеджеры: Openbox, i3wm, bspwm, awesomewm, Fluxbox, Fvwm, Swaywm.
Окружения рабочего стола : KDE, Pantheon, Gnome, Deepin, Cinnamon, XFCE, LXDE, MATE
https://github.com/adi1090x/dynamic-wallpaper
👉 @linuxchmod
👍3🔥2
🔥3👍1🏆1
🔥2👍1🎉1🏆1
Как заставить пользователя изменить пароль при следующем входе в систему
Существует несколько способов.
Использование команды passwd
Использование команды chage
Срок действия паролей
Будет выведена следующая информация:
Когда пароль был последний раз изменен;
Дата окончания действия пароля;
Сколько дней осталось до окончания действия пароля;
Когда учетная запись пользователя будет закончена (можно, пожалуйста, далее мы будем говорить «заэкспайрится»?)
Минимальное количество дней между итерацией смены пароля;
Максимальное количество дней между итерацией смены пароля;
Заставляем пользователя менять пароль каждые 90 дней
Задаем срок жизни учетной записи (до 12 июня 2023)
Сколько времени на смену пароля?
В примере даем Борису 10 дней на смену пароля с момента как пароль заэкспайрился
Уведомление о смене пароля заранее
Через 25 дней истекает срок годности пароля Бориса
Защищаемся от частой смены паролей пользователя
Минимальное количество дней между сменой паролей
Удалить ограничение в днях
👉 @linuxchmod
Существует несколько способов.
Использование команды passwd
sudo passwd --expire [username]Использование команды chage
sudo chage --lastday 0 [username]Срок действия паролей
chage -lБудет выведена следующая информация:
Когда пароль был последний раз изменен;
Дата окончания действия пароля;
Сколько дней осталось до окончания действия пароля;
Когда учетная запись пользователя будет закончена (можно, пожалуйста, далее мы будем говорить «заэкспайрится»?)
Минимальное количество дней между итерацией смены пароля;
Максимальное количество дней между итерацией смены пароля;
Заставляем пользователя менять пароль каждые 90 дней
sudo chage -M 90Задаем срок жизни учетной записи (до 12 июня 2023)
sudo chage -E 2023-06-12 serg
sudo chage -E 2023-06-12 olegСколько времени на смену пароля?
В примере даем Борису 10 дней на смену пароля с момента как пароль заэкспайрился
sudo chage -I 10 borisУведомление о смене пароля заранее
Через 25 дней истекает срок годности пароля Бориса
sudo chage -W 25 borisЗащищаемся от частой смены паролей пользователя
Минимальное количество дней между сменой паролей
sudo chage -m 25 borisУдалить ограничение в днях
sudo chage -m 0 sergey👉 @linuxchmod
👍4🔥3
DHCP сервер
DHCP (англ. Dynamic Host Configuration Protocol — протокол динамической настройки узла) — сетевой протокол, позволяющий сетевым устройствам автоматически получать IP-адрес и другие параметры, необходимые для работы в сети TCP/IP. Данный протокол работает по модели «клиент-сервер». Для автоматической конфигурации компьютер-клиент на этапе конфигурации сетевого устройства обращается к так называемому серверу DHCP и получает от него нужные параметры. Сетевой администратор может задать диапазон адресов, распределяемых сервером среди компьютеров. Это позволяет избежать ручной настройки компьютеров сети и уменьшает количество ошибок. Протокол DHCP используется в большинстве сетей TCP/IP.
DHCP является расширением протокола BOOTP, использовавшегося ранее для обеспечения бездисковых рабочих станций IP-адресами при их загрузке. DHCP сохраняет обратную совместимость с BOOTP.
источник
👉 @linuxchmod
DHCP (англ. Dynamic Host Configuration Protocol — протокол динамической настройки узла) — сетевой протокол, позволяющий сетевым устройствам автоматически получать IP-адрес и другие параметры, необходимые для работы в сети TCP/IP. Данный протокол работает по модели «клиент-сервер». Для автоматической конфигурации компьютер-клиент на этапе конфигурации сетевого устройства обращается к так называемому серверу DHCP и получает от него нужные параметры. Сетевой администратор может задать диапазон адресов, распределяемых сервером среди компьютеров. Это позволяет избежать ручной настройки компьютеров сети и уменьшает количество ошибок. Протокол DHCP используется в большинстве сетей TCP/IP.
DHCP является расширением протокола BOOTP, использовавшегося ранее для обеспечения бездисковых рабочих станций IP-адресами при их загрузке. DHCP сохраняет обратную совместимость с BOOTP.
источник
👉 @linuxchmod
👍4🔥2
GoAccess
Анализатор веб-журналов в режиме реального времени, который работает в терминале на системах *nix или через ваш браузер.
Предоставляет быструю и цельную статистику HTTP для системных администраторов, которым требуется визуальный отчет сервера на лету
https://github.com/allinurl/goaccess
👉 @linuxchmod
Анализатор веб-журналов в режиме реального времени, который работает в терминале на системах *nix или через ваш браузер.
Предоставляет быструю и цельную статистику HTTP для системных администраторов, которым требуется визуальный отчет сервера на лету
https://github.com/allinurl/goaccess
👉 @linuxchmod
👍6🔥2
Media is too big
VIEW IN TELEGRAM
Объяснение Traceroute / Демо на Windows, Linux, macOS
Понимает ли Элон Маск, как работает Интернет? Может ли он правильно объяснить traceroute и tracert? Ну... давайте посмотрим... Я покажу, как несколько операционных систем: Windows 11, MacOS, Linux используют traceroute.
Различия есть, в том числе и в том, что Windows использует ICMP, а macOS и Linux - UDP и ICMP.
0:00 Introduction
0:08 Elon Musk Babylon Bee interview video
1:11 How trace route works
1:40 What is ping?
1:48 Internet Control Message Protocol (ICMP)
2:32 How trace route (tracert) works on Windows
3:50 What is a router?
4:10 Wireshark packet captures
5:21 Time To Live (TTL)
10:18 Domain lookup using Whois
10:55 Time To Live (TTL) (cont'd)
12:10 Trace route phone application
13:43 Submarine cable map
15:22 Traceroute on MacOS
18:34 UDP explanation
19:56 Traceroute on Linux
21:42 Conclusion
источник
👉 @linuxchmod
Видео на английскомПонимает ли Элон Маск, как работает Интернет? Может ли он правильно объяснить traceroute и tracert? Ну... давайте посмотрим... Я покажу, как несколько операционных систем: Windows 11, MacOS, Linux используют traceroute.
Различия есть, в том числе и в том, что Windows использует ICMP, а macOS и Linux - UDP и ICMP.
0:00 Introduction
0:08 Elon Musk Babylon Bee interview video
1:11 How trace route works
1:40 What is ping?
1:48 Internet Control Message Protocol (ICMP)
2:32 How trace route (tracert) works on Windows
3:50 What is a router?
4:10 Wireshark packet captures
5:21 Time To Live (TTL)
10:18 Domain lookup using Whois
10:55 Time To Live (TTL) (cont'd)
12:10 Trace route phone application
13:43 Submarine cable map
15:22 Traceroute on MacOS
18:34 UDP explanation
19:56 Traceroute on Linux
21:42 Conclusion
источник
👉 @linuxchmod
👍5🔥2🎉1
🛡 Шпаргалка для сисадмина: SSH + Безопасность
🔑 Подключение и передача файлов
⚙️ Настройка
Перезапуск:
🔒 Ключи SSH
🛡 Fail2Ban
Установка и запуск:
Конфиг
🔥 Firewall
UFW
iptables
firewalld
💡 Советы по безопасности:
1. 🚫 Не пускаем root по SSH
2. 🔑 Только ключи, никаких паролей
3. 📌 Ставим нестандартный порт
4. 🛡 Лимитируем доступ по IP
5. 🚨 Включаем Fail2Ban
👉 @linuxchmod
🔑 Подключение и передача файлов
# Подключение к серверу
ssh user@host
# Копирование файла
scp file.txt user@host:/path/
# SFTP-сессия
sftp user@host
# Синхронизация директорий
rsync -avz -e ssh /local/path user@host:/remote/path
⚙️ Настройка
/etc/ssh/sshd_config
Port 2222 # Меняем порт
PermitRootLogin no # Запрет root-входа
PasswordAuthentication no # Только по ключам
MaxAuthTries 3 # Лимит попыток входа
AllowUsers admin user1 # Белый список пользователей
Перезапуск:
systemctl restart sshd
🔒 Ключи SSH
# Генерация ключа
ssh-keygen -t ed25519 -C "admin@myserver"
# Установка ключа на сервер
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@host
🛡 Fail2Ban
Установка и запуск:
apt install fail2ban # Debian/Ubuntu
yum install fail2ban # CentOS/RHEL
systemctl enable --now fail2ban
Конфиг
/etc/fail2ban/jail.local:
[sshd]
enabled = true
port = 2222
filter = sshd
maxretry = 3
bantime = 3600
🔥 Firewall
UFW
ufw allow 2222/tcp
ufw enable
ufw status
iptables
iptables -A INPUT -p tcp --dport 2222 -j ACCEPT
iptables -A INPUT -j DROP
firewalld
firewall-cmd --permanent --add-port=2222/tcp
firewall-cmd --reload
💡 Советы по безопасности:
1. 🚫 Не пускаем root по SSH
2. 🔑 Только ключи, никаких паролей
3. 📌 Ставим нестандартный порт
4. 🛡 Лимитируем доступ по IP
5. 🚨 Включаем Fail2Ban
👉 @linuxchmod
🔥6👍5🎉1
Вывод cron всех пользователей
Вывод задач в cron для текущего пользователя осуществляется просто:
Список задач другого пользователя (например, oracle) можно посмотреть так:
Но иногда требуется посмотреть список задач в cron для всех пользователей, сделать это можно следующей командой:
Если это требуется не единожды, а постоянно, можно написать небольшой скрипт, для этого в файле ~/.bashrc прописываем:
Выполнив source
👉 @linuxchmod
Вывод задач в cron для текущего пользователя осуществляется просто:
crontab -lСписок задач другого пользователя (например, oracle) можно посмотреть так:
crontab -u oracle -lНо иногда требуется посмотреть список задач в cron для всех пользователей, сделать это можно следующей командой:
for user in $(cut -d':' -f1 /etc/passwd); do crontab -u $user -l; doneЕсли это требуется не единожды, а постоянно, можно написать небольшой скрипт, для этого в файле ~/.bashrc прописываем:
# Цвета вывода
red='\e[0;31m'
RED='\e[1;31m'
green='\e[0;32m'
GREEN='\e[1;32m'
NC='\e[0m'# Определение функции вывода задач cron всех пользователей
function allcrontab() {
for user in $(cut -d':' -f1 /etc/passwd); do
usercrontab=$(crontab -l -u ${user} 2>/dev/null)
if [ -n "${usercrontab}" ]; then
echo -e "${RED}====== Start crontab for user ${NC}${GREEN}${user}${NC} ${RED}======${NC}"
crontab -l -u ${user} | sed '/ *#/d; /^ *$/d'
echo -e "${RED}====== End crontab for user ${NC}${GREEN}${user}${NC} ${RED}========${NC}\n"
fi
done
}Выполнив source
~/.bashrc или просто перелогинившись в консоли, можем выполнить команду allcrontab и получить красивый вывод списка задач cron всех пользователей в системе.👉 @linuxchmod
👍4🔥1
Шпаргалка по SSH-туннелям 💡
• Локальное перенаправление порта (Local port forwarding): доступ к приватным конечным точкам (endpoints), возможно через bastion-хост, как будто это локально открытые порты.
• Удалённое перенаправление порта (Remote port forwarding): публикация локальных портов или адресов в приватной сети наружу через exit-нод.
Оба варианта реализуются с помощью старого доброго SSH 👆
👉 @linuxchmod
• Локальное перенаправление порта (Local port forwarding): доступ к приватным конечным точкам (endpoints), возможно через bastion-хост, как будто это локально открытые порты.
• Удалённое перенаправление порта (Remote port forwarding): публикация локальных портов или адресов в приватной сети наружу через exit-нод.
Оба варианта реализуются с помощью старого доброго SSH 👆
👉 @linuxchmod
👍3🔥1