linux:desktop:ssh

SSH

Перший крок для налаштування аутентифікації ключів SSH на сервері полягає в тому, щоб згенерувати пару ключів SSH на локальному комп'ютері.

Для цього ми можемо використовувати спеціальну утиліту ssh-keygen, яка входить до стандартного набору інструментів OpenSSH. За замовчуванням вона створює пару 2048-бітних ключів RSA, що підходить для більшості сценаріїв використання.

Згенеруйте на локальному комп'ютері пару ключів SSH, ввівши таку команду:

ssh-keygen -t rsa -b 4096

Утиліта запропонує вам вибрати місце розміщення генерованих ключів. За замовчуванням ключі зберігаються в каталозі ~/.ssh всередині домашнього каталогу вашого користувача. Закритий ключ матиме ім'я id_rsa, а відповідний відкритий ключ матиме ім'я id_rsa.pub.

Копирование публичного ключа на сервер:

ssh-copy-id username@server_ip

Для налаштування підключення виду ssh home потрібно додати відповідну конфігурацію в файл ~/.ssh/config:

Host home
    HostName 158.101.197.61
    User osvex
    IdentityFile ~/oracle.key

Host - коротка назва хоста, до якого будем виконувати підключення
Hostname - IP адреса або домен хоста
User - ім'я користувача під яким будем авторизуваватись
IdentifyFile - ключ ssh (по паролю неможливо) ===
Додати публічний ключ на віддалений сервер ===

Перед підключенням до сервера по згенерованому ключу, публічний ключ потрібно завантажити на сервер. Зробити це можливо виконавши команду:

cat ~/.ssh/id_rsa.pub | ssh [email protected] 'cat>> .ssh/authorized_keys'

Після успішного завантаження, підключення буде доступно.

Щоб використати ключ .pem виконайте команду SSH з ключом -i та вкажіть шлях до файлу

ssh -i filekey.pem 1.1.1.1

Якщо для користуча root вимкнений доступ по SSH, увімкнути можна:

nano /etc/ssh/sshd_config

RepmitRootLogin yes
sudo nano /etc/ssh/sshd_config

Відповідний рядок замінити на no

PasswordAuthentication yes

Перезапустити службу:

sudo systemctl restart sshd

Команда scp - це утиліта, яка працює за протоколом SSH, а отже, все, що вам потрібно для передавання файлу на комп'ютер, це щоб на ньому було запущено SSH-сервер, а також ви маєте знати логін і пароль для під'єднання до нього. За допомогою команди scp ви можете не тільки переміщати файли між локальною і віддаленою системою, а й між двома віддаленими системами. Для цього теж буде достатньо знати паролі від них. І на відміну від Rsync вам не потрібно авторизуватися на одному з серверів.

Загальний синтаксис:

$ scp опции шлях_до_ файла логін @хост: /шлях_куди_класти_файл

Приклад:

scp /home/osmay/file [email protected]:/root/

Для цього використайте ключ -i та вкажіть шлях до файла-ключа.

scp -i ~/Documents/mainKey.pem archive.tar.xz [email protected]:/home/user/

Змінити місцями шляхи. Приклад:

scp [email protected]:/root/ /home/osmay/file
  • linux/desktop/ssh.txt
  • Востаннє змінено: 05/09/2024 18:45
  • (зовнішнє редагування)