2.1 KiB
Raw Blame History

  • ssh-keygen -t ed25519 -f ~/.ssh/<path> - создаёт пару ssh-ключей (лучше защитить ключ паролем)
  • ssh-copy-id -i ~/.ssh/<path> <username>@<servername>- добавляет публичный ключ на сервер

Конфигурация ssh сервера

  • В файле /etc/ssh/sshd_config должны быть настройки (после изменения файла перезагрузить демон ssh systemctl 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