Categories: VMware

VMware ESXi: SSH аутентификация с помощью ключей

Вы можете настроить аутентификацию с помощью ключей на хостах VMware ESXi вместо стандартного SSH подключения с помощью имени пользователя и пароля. Это удобно, когда вам нужно удаленно управлять хостом ESXi с помощью внешних скриптов (например отправить команду выключения на ESXi при пропадании питания на ИБП) или при управлении хостами VMware ESXi через Ansible .

Сгенерируйте закрытый и открытый ключи на компьютере администратора.

Для SSH аутентификации нужно использовать RSA ключи как минимум длиной 4096 бит. Чтобы сгенерировать пару RSA ключей длиной 4096 на Windows, выполните команду:

ssh-keygen -t rsa -b 4096

В новых билдах OpenSSH вместо RSA ключей рекомендуется использовать протокол Ed25519 ( use RSA/SHA256 when testing usability of private keys as some systems are starting to disable RSA/SHA1 in libcrypto ). В ESXi 8.0 мне удалось подключиться с помощью пары Ed25519 ключей только после отключения опции FipsMode no в /etc/ssh/sshd_config.

Чтобы сгенерировать ключи id_ed25519 и id_ed25519.pub выполните:

ssh-keygen -t ed25519

Утилита сгенерирует два файла в каталоге с профилем текущего пользователя (%USERPROFILE%.ssh):

  • id_rsa – закрытый ключ
  • id_rsa.pub – публичный (открытый) ключ
Если вы генерируете ключи с помощью Puttygen, их нужно экспортировать в формате OpenSSH.

Скопируйте открытый ключ id_rsa.pub с вашего компьютера на хост VMware ESXi. Этот ключ нужно добавить в файл /etc/ssh/keys-$USER/authorized_keys . Если это ключ для пользователя root, путь к файлу будет такой:

/etc/ssh/keys-root/authorized_keys

Подключитесь к серверу ESXi по SSH (в настройках хоста ESXi нужно разрешить доступ по SSH ).

Вы можете отредактировать файл вручную (в файле можно хранить несколько ключей) или добавить его на сервер ESXi с помощью PowerShell команды:

cat c:usersadmin.sshid_rsa.pub | ssh [email protected] 'cat >> /etc/ssh/keys-root/authorized_keys'

Настройки OpenSSH сервера на хосте ESXi находятся в файле /etc/ssh/sshd_config .

Можно включить/отключить доступ под root с помощью директивы:

PermitRootLogin yes

Отключить SSH вход по паролю:

ChallengeResponseAuthentication no # deprecated_x000D_KbdInteractiveAuthentication no_x000D_PasswordAuthentication no

Перезапустите SSH на ESXi:

# /etc/init.d/SSH restart

Также вы можете распространить SSH ключи на хосты ESXi с помощью VMware Host Profiles (Security Configuration -> SSH authorized key for root user -> Add public key)

Теперь вы можете подключиться к ESXi хосту без ввода пароля с помощью закрытого ключа. В Windows с включенным агентом ssh-agent при подключении к хосту автоматически будет использоваться закрытый ключ из профиля пользователя:

ssh [email protected]

Также вы можете указать путь к ключу с помощью параметра -i:

ssh [email protected] -i "C:Usersadministrator.sshid_rsa"

Вы можете удаленно выполнить произвольную команду в консоли ESXi. Например, выключить определенную виртуальную машину :

ssh [email protected] vim-cmd vmsvc/power.shutdown VMID

В VMware ESXi 7.0 U2 и выше пароли в файле local.tgz.ve зашифрованы, поэтому сбросить пароль root в ESXi с помощью этой процедуры не получится. В этом случае аутентификация по ключам позволит вам подключиться к серверу без ввода пароля root.
admin

Share
Published by
admin

Recent Posts

Консоль удаленного рабочего стола(rdp console)

Клиент удаленного рабочего стола (rdp) предоставляет нам возможность войти на сервер терминалов через консоль. Что…

2 недели ago

Настройка сети в VMware Workstation

В VMware Workstation есть несколько способов настройки сети гостевой машины: 1) Bridged networking 2) Network…

2 недели ago

Логи брандмауэра Windows

Встроенный брандмауэр Windows может не только остановить нежелательный трафик на вашем пороге, но и может…

2 недели ago

Правильный способ отключения IPv6

Вопреки распространенному мнению, отключить IPv6 в Windows Vista и Server 2008 это не просто снять…

2 недели ago

Ключи реестра Windows, отвечающие за параметры экранной заставки

Параметры экранной заставки для текущего пользователя можно править из системного реестра, для чего: Запустите редактор…

2 недели ago

Как управлять журналами событий из командной строки

В этой статье расскажу про возможность просмотра журналов событий из командной строки. Эти возможности можно…

2 недели ago