4 weeks ago
by admin
Вибір стратегії для SSH-ключів
-
Один ключ для всіх серверів
-
Переваги:
- Простота (не потрібно керувати кількома ключами).
- Легко додавати нові сервери (просто копіюєте той самий публічний ключ).
-
Недоліки:
- Якщо ключ буде скомпрометовано, зламані всі сервери.
- Немає ізоляції між серверами.
-
Окремий ключ для кожного сервера
-
Переваги:
- Безпека (компрометація одного ключа не впливає на інші сервери).
- Можливість відкликати доступ лише до певного сервера.
-
Недоліки:
- Складніше керувати (особливо якщо серверів багато).
Як створити ключ з іншою назвою (для окремих серверів)
-
Генерація ключа зі своєю назвою
Використовуйте параметр -f
для вказання шляху до файлу:
ssh-keygen -t ed25519 -f ~/.ssh/my_server_key -C "коментар"
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"
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
4 weeks ago
by admin
Щоб отримати SHA256 хеш файлу в Linux, використовуйте команду sha256sum
в терміналі.
Додайте ім'я файлу після команди, щоб отримати його SHA256 хеш.
Покроковий процес:
-
Відкрийте термінал: У більшості дистрибутивів Linux термінал можна знайти в меню додатків або в пошуковій панелі.
-
Використовуйте команду:
sha256sum [ім'я_файлу]
Замініть [ім'я_файлу]
на фактичне ім'я файлу, для якого ви хочете отримати хеш. Наприклад,
sha256sum /path/to/my_file.txt
-
Отримайте результат: Термінал виведе SHA256 хеш файлу. Він буде виглядати як довгий рядок цифр та літер, наприклад,
4167b599f36af0781b81563bd2179a6d35daa3145f0b6f99ac6d9ee1894b516a
.
Приклад:
Якщо ви хочете отримати SHA256 хеш файлу my_file.txt
, який знаходиться в каталозі
Downloads
, команда буде виглядати так:
sha256sum ~/Downloads/my_file.txt
Ця команда виведе SHA256 хеш цього файлу.
Category: Linux | Comments: 0
4 weeks ago
by admin
Інструкція зі створення 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
1 month ago
by admin
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 configurationC-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 modeC-v
toggles between blockwise visual mode and visual modeH
jumps to the start of lineL
jumps to the end of liney
copies the selection to the top paste-bufferEscape
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
1 month ago
by admin
Installation
The
default scrolling behaviour runs through the previous commands instead
of scrolling the terminal output. Enable sane scrolling behaviour with
this config line.
Usage
Commands
Here is a summary of the most common commands that you'll want to use.
Command | Function |
---|
tmux | Start a new session |
tmux new -s name | Start a new named session |
tmux ls | List sessions |
tmux attach | Attach to the most recently used session |
tmux attach -t name | Attach to a named session |
tmux kill-session -t name | Kill 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.
Command | Function |
---|
Ctrl+b ? | List all key bindings. |
Ctrl-b d | Detach 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 o | Switch to the next pane |
Ctrl+b ; | Move between the current and previous pane |
Ctrl+b arrow-key | Navigate between the panes |
Ctrl+b x | Ctrl+b x Close the current pane |
Ctrl-b c | Create a new window |
Ctrl-b w | Switch between sessions and windows |
Category: Linux | Comments: 0