====== 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 swede@1.1.1.1 'cat>> .ssh/authorized_keys' Після успішного завантаження, підключення буде доступно. ==== Підключення до сервера по ключу .pem ==== Щоб використати ключ ''.pem'' виконайте команду SSH з ключом ''-i'' та вкажіть шлях до файлу ssh -i filekey.pem 1.1.1.1 ==== Дозволити підключення по SSH до root ==== Якщо для користуча ''root'' вимкнений доступ по ''SSH'', увімкнути можна: nano /etc/ssh/sshd_config RepmitRootLogin yes ==== Відключити аутентифікацію по паролю ==== sudo nano /etc/ssh/sshd_config Відповідний рядок замінити на ''no'' PasswordAuthentication yes Перезапустити службу: sudo systemctl restart sshd ==== Завантаження файлів за допомогою SCP ==== Команда scp - це утиліта, яка працює за протоколом SSH, а отже, все, що вам потрібно для передавання файлу на комп'ютер, це щоб на ньому було запущено SSH-сервер, а також ви маєте знати логін і пароль для під'єднання до нього. За допомогою команди scp ви можете не тільки переміщати файли між локальною і віддаленою системою, а й між двома віддаленими системами. Для цього теж буде достатньо знати паролі від них. І на відміну від Rsync вам не потрібно авторизуватися на одному з серверів. Загальний синтаксис: ** $ scp опции шлях_до_ файла логін @хост: /шлях_куди_класти_файл ** Приклад: scp /home/osmay/file root@osvex.com:/root/ ==== Завантаження за допомогою ключа .pem : ==== Для цього використайте ключ -i та вкажіть шлях до файла-ключа. scp -i ~/Documents/mainKey.pem archive.tar.xz ubuntu@11.12.13.14:/home/user/ ==== Зворотнє завантаження (з сервера на локальний комп'ютер) ==== Змінити місцями шляхи. Приклад: scp root@osvex.com:/root/ /home/osmay/file