mirror of
https://github.com/ilyamak04/DevOps.git
synced 2025-04-05 23:34:50 +02:00
2.1 KiB
2.1 KiB
ssh-keygen -t ed25519 -f ~/.ssh/<path>
- создаёт пару ssh-ключей (лучше защитить ключ паролем)ssh-copy-id -i ~/.ssh/<path> <username>@<servername>
- добавляет публичный ключ на сервер
Конфигурация ssh сервера
- В файле
/etc/ssh/sshd_config
должны быть настройки (после изменения файла перезагрузить демон sshsystemctl restart sshd
):- PermitRootLogin no - исключает возможность подключения на сервер под рутом
- PubkeyAuthentication yes
- PasswordAuthentication no
- Публичные ключи хранятся в директории
~/.ssh/authorized_keys
- Директория
~/.ssh
должна иметь права 700. - Файл
authorized_keys
должен иметь права 600.
Конфигурация ssh клиента
vi ~/.ssh/config
- создаёт файл конфигурации- Поместить в файл (заполнить своими данными):
Host myserver
HostName 213.171.31.5 # или *.com
User user
ForwardAgent yes # Перенаправляем SSH-агент на удалённый сервер
IdentityFile /Users/username/.ssh/id_rsa
IdentitiesOnly yes # Используем только указанный ключ для аутентификации
AddKeysToAgent yes # Добавляем ключ в SSH-агент после первого использования
ServerAliveInterval 60
ServerAliveCountMax 1200
SSH Agent
SSH Agent выбирает ssh-ключи для подключения к соответствующим серверам
Также использование ssh-agent позволяет вводить пароль от ключа только один раз, при первом подключении к серверу
eval $(ssh-agent)
- запускает ssh-agent
ssh-add ~/.ssh/id_rsa
- добавляет ключ в ssh-agent