Шаг 8 из 12

SSH ключи

Для авторизации на удалённом сервере необходимо использовать либо пару логин/пароль либо ключ. В коде fabric можно заметить, что я передаю путь до приватного ключа.

ssh_key_path = os.path.join(os.path.expanduser('~'), '.ssh', 'id_rsa')
...
    with Connection(
        'server.com',
        connect_kwargs={'key_filename': ssh_key_path},
        user='user',
    ) as conn:

Как можно догадаться, авторизация проходит через приватный ключ. Если вы следовали шагам из предыдущих видео по настройке виртуальной машины для Airflow, то ключи у вас уже есть. Если нет, то сгенерировать пару приватный/публичный ключи можно командой:

$ ssh-keygen -t ed25519 -C "ваш_email@server.com"

Далее необходимо на сервере прописать публичный ключ (файл с расширением .pub) в файл ~/.ssh/authorized_keys:

cat ~/.ssh/id_rsa.pub | ssh username@remote_host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

Команда выше должна запускаться в терминале машины на которой создан новый ключ. Она добавляет публичный ключ к списку разрешенных для авторизации ключей на удалённом сервере.

Комментарии