Я пытаюсь использовать пакет R AzureDSVM для создания Linux DSVM через R. Я читаю руководство https://raw.githubusercontent.com/Azure/AzureDSVM/master/vignettes/10Deploy.Rmd (руководство по Azure DSVM)
Сначала руководство запрашивает созданиеПриложение Azure Active Directory, которое будет предоставлять «идентификатор клиента», «идентификатор клиента» и «ключ пользователя», рекомендации, описанные в http://htmlpreview.github.io/?https://github.com/Microsoft/AzureSMR/blob/master/inst/doc/Authentication.html (руководство по аутентификации SMR Azure)
Насколько я понимаю,при этом создается приложение, зарегистрированное в Azure Active Directory, создается «ключ аутентификации» для приложения, которым является ключ пользователя, и связывается приложение с группой ресурсов.Я сделал это успешно.
Затем руководство Azure DSVM создает виртуальную машину с аутентификацией с открытым ключом, аналогично следующему:
library(AzureSMR)
library(AzureDSVM)
TID <- "123abc" # Tenant ID
CID <- "456def" # Client ID
KEY <- "789ghi" # User key
context <- createAzureContext(tenantID=TID, clientID=CID, authKey=KEY)
resourceGroup<-"myResouceGroup"
location<-"myAzureLocation"
vmUsername<-"myVmUsername"
size<-"Standard_D1_v2"
mrsVmPassword<-"myVmPassword"
hostname<-"myVmHostname"
ldsvm <- deployDSVM(context,
resource.group = resourceGroup,
location = location,
hostname = hostname,
username = vmUsername,
size = size,
os = "Ubuntu",
pubkey = PUBKEY)
В руководстве смутно описывается создание открытого ключа.(PUBKEY) из личного ключа пользователя, который отправляется на виртуальную машину, чтобы позволить ей обеспечивать аутентификацию SSH:
Для начала нам нужно загрузить наши учетные данные Azure, а также открытый ключ ssh пользователя,Открытые ключи в Linux обычно создаются на настольном компьютере / ноутбуке пользователя и находятся в ~ / .ssh / id_rsa.pub.Будет удобно создать файл учетных данных, который будет содержать эту информацию.Содержимое файла учетных данных будет выглядеть примерно так: мы предполагаем, что пользователь создает такой файл в текущем рабочем каталоге, называя файл _credentials.R.Замените на имя пользователя пользователя.
TID <- "72f9....db47" # Tenant ID
CID <- "9c52....074a" # Client ID
KEY <- "9Efb....4nwV....ASa8=" # User key
PUBKEY <- readLines("~/.ssh/id_rsa.pub") # For Linux DSVM
Мой вопрос:
Этот открытый ключ PUBKEY сгенерирован из аутентификации / ключа пользователя, созданного путем настройкиПриложение Azure Active Directory в руководстве по аутентификации SMR Azure (переменная KEY в приведенном выше сценарии)?Если да, то как?Я пытался использовать библиотеку натрия R pubkey(charToRaw(KEY))
, но я получаю «Неверный ключ, должен быть ровно 32 байта».
Если PUBKEY не генерируется из KEY, из чего он генерируется?И как пакет узнает, как пройти аутентификацию с помощью закрытого ключа для этого открытого ключа?