Підключення до віддаленого сервера Linux без пароля
Хоча найчастіше для входу у віддалений комп’ютер після підключення по SSH використовується пароль, можна уникнути постійного його введення використовуючи автентифікацію за допомогою пари ключів. А за потреби використання скриптів для роботи з віддаленим комп’ютером, автентифікація через пару ключів залишається єдиним варіантом.
Отже, спочатку згенеруємо на локальному комп’ютері з якого ми збираємось підключатись, пару ключів утилітою ssh-keygen
з опціями -t
що визначає протокол шифрування та -f
що визначає розташування ключів командою ssh-keygen -t rsa -f ~/.ssh/id_rsa
. На запит для введення пароля просто натиснемо Enter.
Після цього перейдемо до каталогу ~/.ssh
. Введемо команду ls
щоб перевірити чи з’явились два файли ключів: приватний id_rsa і публічний id_rsa.pub.
cd ~/.ssh
ls
...
id_rsa.pub id_rsa known_hosts
...
Тепер cкопіюємо публічний ключ на віддалений комп’ютер командою
ssh-copy-id -i /home/user/.ssh/id_rsa.pub user@remote-server
Не забудемо замінити ім’я користувача user
і назву віддаленого комп’ютера remote
на реальні.
Спробуємо підключитись до віддаленого комп’ютера командою ssh user@remote-server
. Якщо все було зроблено правильно, то підключення відбудеться без запиту пароля.