Копіювання ssh-ключів на сервер

Розкажи, як за допомогою команди "ssh-copy-id" скопіювати ssh-ключі на сервер. На моєму локальному комп'ютері в /home/olex/.ssh/ є два публічних ключа: crus.pub olex.pub Перший я хочу використати на сервері для користувача "root", другий для користувача "olex".

Команда ssh-copy-id спрощує копіювання публічного ключа SSH на віддалений сервер — вона автоматично додає ключ до ~/.ssh/authorized_keys відповідного користувача.

У твоєму випадку потрібно окремо скопіювати crus.pub для root і olex.pub для olex. Ось як це зробити:


1. Скопіювати crus.pub для користувача root

ssh-copy-id -i ~/.ssh/crus.pub root@your.server.ip

Пояснення:

  • -i ~/.ssh/crus.pub — вказує конкретний публічний ключ.

  • root@your.server.ip — адреса і користувач сервера.

🔒 Після цього root зможе входити по SSH з приватним ключем, який відповідає crus.pub.


2. Скопіювати olex.pub для користувача olex

ssh-copy-id -i ~/.ssh/olex.pub olex@your.server.ip

Примітки:

  • Перед виконанням команда ssh-copy-id підключиться до сервера і попросить пароль відповідного користувача (root або olex).

  • Якщо в користувача ще не існує директорії ~/.ssh, вона буде створена автоматично.

  • У тебе має бути відповідний приватний ключ до кожного з *.pub на локальній машині, наприклад:

    • crus → приватний до crus.pub

    • olex → приватний до olex.pub


Перевірити, що ключ скопійовано:

На сервері (наприклад, через root), подивись вміст файлу:

cat ~/.ssh/authorized_keys

Аналогічно для olex:

sudo -u olex cat /home/olex/.ssh/authorized_keys

Готово. Тепер ти можеш входити на сервер як root або olex без введення пароля, якщо приватні ключі у тебе в локальному ~/.ssh і мають права 600, а директорія ~/.ssh — права 700.

Last updated