====== 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