Apache Airflow 2.2: практический курс: Деплой Apache Airflow / Настройка CI/CD через GitHub Actions
Для авторизации на удалённом сервере необходимо использовать либо пару логин/пароль либо ключ. В коде 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"
Команда выше должна запускаться в терминале машины на которой создан новый ключ. Она добавляет публичный ключ к списку разрешенных для авторизации ключей на удалённом сервере.