Вход по ключу надёжнее пароля. Пароль можно подобрать перебором, ключ — практически нельзя: это пара из закрытой и открытой частей. Закрытую часть храни у себя и никому не показывай, открытую кладёшь на сервер. При входе они сверяются автоматически — пароль вводить не нужно.
На вопрос о пути нажми Enter — ключ ляжет в стандартное место.
Задавай ключу passphrase (пароль на сам ключ) — на вопрос при ssh-keygen введи фразу, а не оставляй пустым. Тогда даже если закрытый файл украдут, без passphrase им не воспользуются. Чтобы не вводить её каждый раз, добавь ключ в ssh-agent: ssh-add ~/.ssh/id_ed25519.
Появятся два файла:
Файл
Что это
~/.ssh/id_ed25519
закрытый ключ — держи у себя, никому не давай
~/.ssh/id_ed25519.pub
открытый ключ — его кладём на сервер
2
Скопируй открытый ключ на сервер
Самый простой способ — ssh-copy-id:
ssh-copy-id root@IP
Замени IP на адрес сервера из бота. Команда один раз спросит пароль root и сама допишет ключ на сервер.Если ssh-copy-id нет, добавь ключ вручную. Покажи свой открытый ключ:
cat ~/.ssh/id_ed25519.pub
Зайди на сервер по паролю и вставь строку в ~/.ssh/authorized_keys:
Если пользуешься PuTTY, ключ создаётся через PuTTYgen: выбери тип EdDSA (Ed25519), нажми Generate, сохрани закрытый ключ кнопкой Save private key (файл .ppk). Строку из поля сверху окна вставь на сервер в ~/.ssh/authorized_keys. В самом PuTTY путь к ключу указывается в Connection → SSH → Auth → Credentials → Private key file.
Если зашло без запроса пароля сервера — ключ работает. (Если ты задал passphrase, спросят именно её — это пароль от ключа на твоём компьютере, а не от сервера.)