From the Firehose

Стратегія для SSH ключів

Вибір стратегії для SSH-ключів

  1. Один ключ для всіх серверів
    • Переваги:
      • Простота (не потрібно керувати кількома ключами).
      • Легко додавати нові сервери (просто копіюєте той самий публічний ключ).
    • Недоліки:
      • Якщо ключ буде скомпрометовано, зламані всі сервери.
      • Немає ізоляції між серверами.
  2. Окремий ключ для кожного сервера
    • Переваги:
      • Безпека (компрометація одного ключа не впливає на інші сервери).
      • Можливість відкликати доступ лише до певного сервера.
    • Недоліки:
      • Складніше керувати (особливо якщо серверів багато).

Як створити ключ з іншою назвою (для окремих серверів)

  1. Генерація ключа зі своєю назвою

    Використовуйте параметр -f для вказання шляху до файлу:

    ssh-keygen -t ed25519 -f ~/.ssh/my_server_key -C "коментар"
    
  • Це створить:

    • Приватний ключ: ~/.ssh/my_server_key
    • Публічний ключ: ~/.ssh/my_server_key.pub
  • Копіювання ключа на сервер

    Використовуйте ssh-copy-id з явним вказанням ключа:bash

ssh-copy-id -i ~/.ssh/my_server_key.pub username@server_ip

Або вручну (як у вашому прикладі):

cat ~/.ssh/my_server_key.pub | ssh username@server_ip "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys"
  • Підключення з вибором ключа

    Додайте параметр -i до команди ssh:

    bash

ssh -i ~/.ssh/my_server_key username@server_ip

Як уникнути перезапису id_ed25519

  • SSH за замовчуванням використовує ключі зі стандартними іменами (id_ed25519, id_rsa тощо).
  • Якщо ви створюєте ключ з іншою назвою (наприклад, my_server_key), вам завжди потрібно вказувати його явно через i.

Покращений підхід: конфіг SSH (~/.ssh/config)

Щоб не вводити -i щоразу, створіть/відредагуйте файл ~/.ssh/config:

Host my-server-alias
    HostName server_ip
    User username
    IdentityFile ~/.ssh/my_server_key

Тепер підключайтесь просто:

ssh my-server-alias

Висновок: що вибрати?

  • Для персонального використання (наприклад, домашні сервери) – одного ключа достатньо.
  • Для продакшн-середовищ або критичних серверів – окремі ключі + ~/.ssh/config для зручності.
  • Якщо ви хочете максимальної безпеки – ключі на рівні серверів/проєктів + регулярне обертання (заміна) ключів.

Важливо: Ніколи не використовуйте один ключ для серверів з різним рівнем конфіденційності (наприклад, тестовий і банківський сервер).

Category: Linux | Comments: 0

sha256

Щоб отримати SHA256 хеш файлу в Linux, використовуйте команду sha256sum в терміналі.

Додайте ім'я файлу після команди, щоб отримати його SHA256 хеш.

Покроковий процес:

  1. Відкрийте термінал: У більшості дистрибутивів Linux термінал можна знайти в меню додатків або в пошуковій панелі.
  2. Використовуйте команду:
sha256sum [ім'я_файлу]

Замініть [ім'я_файлу] на фактичне ім'я файлу, для якого ви хочете отримати хеш. Наприклад,

sha256sum /path/to/my_file.txt
  1. Отримайте результат: Термінал виведе SHA256 хеш файлу. Він буде виглядати як довгий рядок цифр та літер, наприклад, 4167b599f36af0781b81563bd2179a6d35daa3145f0b6f99ac6d9ee1894b516a.

Приклад:

Якщо ви хочете отримати SHA256 хеш файлу my_file.txt, який знаходиться в каталозі Downloads, команда буде виглядати так:

sha256sum ~/Downloads/my_file.txt

Ця команда виведе SHA256 хеш цього файлу.

Category: Linux | Comments: 0

ssh key

Інструкція зі створення SSH-ключів та копіювання їх на віддалений сервер

1. Створення SSH-ключів

Відкрийте термінал та виконайте наступну команду:

ssh-keygen -t ed25519 -C "ваш_коментар@приклад"  

(Або для старіших систем використайте ssh-keygen -t rsa -b 4096 -C "ваш_email@приклад")

  • Натисніть Enter, щоб зберегти ключ у стандартній папці (~/.ssh/).
  • Введіть пароль (опціонально, але рекомендовано для додаткової безпеки).

Після виконання у папці ~/.ssh/ з’являться два файли:

  • id_ed25519 (або id_rsa) – приватний ключ (нікому не передавати!).
  • id_ed25519.pub (або id_rsa.pub) – публічний ключ (копіюємо на сервер).

2. Копіювання ключа на сервер

Використайте утиліту ssh-copy-id:

ssh-copy-id -i ~/.ssh/id_ed25519.pub username@remote_server_ip  

(Замініть username та remote_server_ip на свої дані)

Якщо ssh-copy-id недоступна, скопіюйте ключ вручну:

cat ~/.ssh/id_ed25519.pub | ssh username@remote_server_ip "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys"  

3. Перевірка підключення

Спробуйте підключитись до сервера:

ssh username@remote_server_ip  

Якщо все правильно, сервер не запросить пароль (якщо не встановлено пароль на ключ).


4. Вимкнення авторизації по паролю (опціонально)

Для підвищення безпеки на сервері у файлі /etc/ssh/sshd_config змініть:

PasswordAuthentication no  

Потім перезавантажте SSH:

sudo systemctl restart sshd  

Готово! Тепер ви можете підключатись до сервера за допомогою SSH-ключа. 🔑

Category: Linux | Comments: 0

Oh my tmux

https://github.com/gpakosz/.tmux


cd
git clone --single-branch <https://github.com/gpakosz/.tmux.git>
ln -s -f .tmux/.tmux.conf
cp .tmux/.tmux.conf.local .

Bindings

tmux may be controlled from an attached client by using a key combination of a prefix key, followed by a command key. This configuration uses C-a as a secondary prefix while keeping C-b as the default prefix. In the following list of key bindings:

  • <prefix> means you have to either hit Ctrl + a or Ctrl + b
  • <prefix> c means you have to hit Ctrl + a or Ctrl + b followed by c
  • <prefix> C-c means you have to hit Ctrl + a or Ctrl + b followed by Ctrl + c

This configuration uses the following bindings:

  • <prefix> e opens the .local customization file copy with the editor defined by the EDITOR environment variable (defaults to vim when empty)
  • <prefix> r reloads the configuration
  • C-l clears both the screen and the tmux history
  • <prefix> C-c creates a new session
  • <prefix> C-f lets you switch to another session by name
  • <prefix> C-h and <prefix> C-l let you navigate windows (default <prefix> n is unbound and <prefix> p is repurposed)
  • <prefix> Tab brings you to the last active window
  • <prefix> - splits the current pane vertically
  • <prefix> _ splits the current pane horizontally
  • <prefix> h, <prefix> j, <prefix> k and <prefix> l let you navigate panes ala Vim
  • <prefix> H, <prefix> J, <prefix> K, <prefix> L let you resize panes
  • <prefix> < and <prefix> > let you swap panes
  • <prefix> + maximizes the current pane to a new window
  • <prefix> m toggles mouse mode on or off
  • <prefix> U launches Urlscan (preferred) or Urlview, if available
  • <prefix> F launches Facebook PathPicker, if available
  • <prefix> Enter enters copy-mode
  • <prefix> b lists the paste-buffers
  • <prefix> p pastes from the top paste-buffer
  • <prefix> P lets you choose the paste-buffer to paste from

Additionally, copy-mode-vi matches my own Vim configuration

Bindings for copy-mode-vi:

  • v begins selection / visual mode
  • C-v toggles between blockwise visual mode and visual mode
  • H jumps to the start of line
  • L jumps to the end of line
  • y copies the selection to the top paste-buffer
  • Escape cancels the current operation

It's also possible to preserve the tmux stock bindings by setting the tmux_conf_preserve_stock_bindings variable to true in your .local customization file copy.




Category: Linux | Comments: 0

Tmux install

Installation

pacman -S tmux

Sane scrolling

The default scrolling behaviour runs through the previous commands instead of scrolling the terminal output. Enable sane scrolling behaviour with this config line.

~/.config/tmux/tmux.conf
set -g mouse on

Usage

Commands

Here is a summary of the most common commands that you'll want to use.

CommandFunction
tmuxStart a new session
tmux new -s nameStart a new named session
tmux lsList sessions
tmux attachAttach to the most recently used session
tmux attach -t nameAttach to a named session
tmux kill-session -t nameKill a named session

Key bindings

Tmux also have a lot of keybindings to help you manage all sessions and windows. Here are the essential bindings that you'll want to learn. The default key combination to initiate a command is Ctrl+b / control+b.

CommandFunction
Ctrl+b ?List all key bindings.
Ctrl-b dDetach from the current session
Ctrl+b %Add a new pane to the right
Ctrl+b "Add a new pane to the bottom
Ctrl+b %Split pane horizontally
Ctrl+b "Split pane vertically
Ctrl+b oSwitch to the next pane
Ctrl+b ;Move between the current and previous pane
Ctrl+b arrow-keyNavigate between the panes
Ctrl+b xCtrl+b x Close the current pane
Ctrl-b cCreate a new window
Ctrl-b wSwitch between sessions and windows


Category: Linux | Comments: 0

Конфігурація Git

Встановлення значення

git config [--local | --global] <name> <value>

Видалення значення

git config [--local | --global] --unset <name> <value>

Мінімальна конфігурація

Щоб працювати з Git, необхідно йому представитися:

git config --global user.name "my_name"
git config --global user.mail "my@mail.com

Змінити редактор:

git config --global core.editor "vim"

Додавання команди slog (en. simple log)

git config --global alias.slog "log -n 30 --graph --pretty=format:'%C(yellow)%h%Creset %Cgreen%ad%Creset %C(blue bold)%&lt;(10,trunc)%an%Creset %s%C(auto)%d%Creset' --date=format:'%Y-%m-%d %H:%M'"

Додавання команди alog (en. all log)

git config --global alias.slog "log -n 30 --graph --pretty=format:'%C(yellow)%h%Creset %Cgreen%ad%Creset %C(blue bold)%&lt;(10,trunc)%an%Creset %s%C(auto)%d%Creset' --date=format:'%Y-%m-%d %H:%M' --all"

Кольори статусу:

git config --global color.status.added green
git config --global color.status.changed yellow
git config --global color.status.untracked red

Скорочення для команд:

git config --global alias.st status
git config --global alias.sst 'status --short'

Перевірити конфігурацію:

git config [--local | --global] [--show-origin] (-l | --list)

Опція --show-origin висвітлює назву файлу, з якого було взято дане значення:

git config --show-origin -l

Також можна вивести значення конкретної опції:

git config [--local | --global] [--show-origin] --get <name>

Category: Git | Comments: 0

Alacritty for Windows

To install Alacritty on Windows, you can use Chocolatey or download pre-built binaries from the GitHub releases page. Chocolatey is a package manager for Windows, and the pre-built binaries are directly downloadable from GitHub.
 

Using Chocolatey:


 - Install Chocolatey: If you don't have it, install Chocolatey first.
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))


 - Install Alacritty: Open PowerShell as administrator and run the command

choco install alacritty


 - Configure: The default configuration file is located at

%APPDATA%\\alacritty\\alacritty.yml. (or alacritty.toml)



Using Pre-built Binaries:


  1. Download:

    Download the pre-built Alacritty binaries (Alacritty.exe and winpty-agent.exe) from the GitHub releases page.
  2. Extract:
    Extract the downloaded ZIP file to a directory of your choice (e.g., C:\Program Files).
  3. Add to PATH (Optional):
    If you want to be able to run Alacritty from the command line, add the directory where you extracted the binaries to your system's PATH environment variable.
4. Configure:
The default configuration file is located at %APPDATA%\alacritty\alacritty.yml. (or alacritty.toml)


Category: Windows | Comments: 0

Arch Linux на WSL

Введи команду для активації WSL:

wsl --install

Після перезавантаження встанови Arch Linux:

wsl --install -d archlinux

Базове налаштування Arch у WSL

Онови пакетну базу:

pacman-key --init
pacman-key --populate archlinux
pacman -Syu --noconfirm

Встанови базові пакети:

pacman -S --noconfirm base base-devel vim sudo

Додавання користувача

Створи нового користувача:

useradd -m -G wheel -s /bin/bash ім'я_користувача
passwd ім'я_користувача

Додай користувача до sudoers:

EDITOR=vim visudo

Розкоментуй рядок:

%wheel ALL=(ALL:ALL) ALL

Встанови дефолтного користувача для WSL:

echo "[user]
default=ім'я_користувача" &gt; /etc/wsl.conf

Завершення

Вийди з root:

exit

Перезапусти WSL:

wsl --shutdown

Наступного запуску Arch відкриється з твоїм користувачем.

Category: Windows | Comments: 0

Вхід в Windows 11 без облікового запису Microsoft

Натисніть комбінацію клавіш Shift+F10 (в деяких ноутбуках Shift+Fn+F10), щоб запустити командний рядок.

В командному рядку введіть команду OOBE\BYPASSNRO і натисніть Enter. Після цього ноутбук перезавантажиться.

Category: Windows | Comments: 0

Install Nerd-font

☁  ~  sudo pacman -S ttf-jetbrains-mono-nerd-3.3.0-1

Category: Linux | Comments: 0

About

Customize this section to tell your visitors a little bit about your publication, writers, content, or something else entirely. Totally up to you.