Перейти к содержимому

Аутентификация по SSH-ключу

SSH-ключи дают вам беспарольный вход по ключу. Они управляются на уровне учётной записи в разделе Security — а не для каждой машины отдельно. Порядок всегда такой:

  1. Добавьте публичный ключ в свой профиль.
  2. Создайте инстанс и выберите этот ключ для развёртывания.

Ключи устанавливаются при провижининге инстанса, поэтому ключ должен быть в вашем профиле до создания машины. Поддерживаются Ed25519, RSA и ECDSA.

1. Сгенерируйте ключ (если у вас его ещё нет)

Заголовок раздела «1. Сгенерируйте ключ (если у вас его ещё нет)»
Окно терминала
ssh-keygen -t ed25519 -C "you@example.com"

Эта команда создаёт ~/.ssh/id_ed25519 (приватный — храните в секрете) и ~/.ssh/id_ed25519.pub (публичный — можно безопасно передавать).

  1. Скопируйте свой публичный ключ:
    Окно терминала
    cat ~/.ssh/id_ed25519.pub
  2. Перейдите на app.myremotemac.com/security и выберите Add SSH key.
  3. Вставьте ключ (имя предлагается автоматически — при желании переименуйте) и подтвердите кодом 2FA.
  4. При желании выберите Set as default — ваш ключ по умолчанию выбирается заранее всякий раз, когда вы создаёте новый инстанс.

При создании инстанса на шаге SSH keys перечислены ключи из вашего профиля:

  • Ваш ключ по умолчанию отмечен заранее — отметьте любые дополнительные ключи, которые хотите развернуть.
  • Можно выбрать несколько ключей или ни одного (машина всё равно получит имя пользователя/пароль).
  • Ещё нет ключей? Вы увидите «You don’t have any SSH keys yet» со ссылкой Add one in Security →. Сначала добавьте ключ, затем вернитесь.
Окно терминала
ssh -i ~/.ssh/id_ed25519 your-username@YOUR-IP

Добавление ключа на существующий инстанс (вручную)

Заголовок раздела «Добавление ключа на существующий инстанс (вручную)»

Если машина уже работает и вы хотите добавить ключ, не пересоздавая её, допишите его в ~/.ssh/authorized_keys по SSH:

Окно терминала
# from the instance (or pipe it over SSH)
mkdir -p ~/.ssh && chmod 700 ~/.ssh
echo "ssh-ed25519 AAAA... you@example.com" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

FAQ

Куда добавлять SSH-ключ?
В свой профиль на странице app.myremotemac.com/security — а не для каждой машины. Добавление ключа требует подтверждения кодом 2FA.
Добавлять ключ до или после создания инстанса?
До. Ключи разворачиваются при провижининге инстанса, поэтому ключ должен уже быть в вашем профиле и выбран при создании. Ваш ключ по умолчанию выбирается автоматически.
Можно ли развернуть несколько ключей?
Да — отметьте несколько ключей на шаге SSH keys при создании инстанса. Можно также оставить поле пустым и использовать имя пользователя/пароль по умолчанию.
Я создал инстанс без своего ключа. Что теперь?
Добавьте ключ на работающую машину вручную, дописав его в ~/.ssh/authorized_keys по SSH, либо пересоздайте инстанс с выбранным ключом.
Почему мне отказывают даже с действительным ключом?
Почти наверняка вы не указали имя пользователя. Всегда подключайтесь как ssh -i ~/.ssh/id_ed25519 your-username@YOUR-IP.