парсер — Почему не парсится имя в вк в теге (h2) (python)
Решил освоить библиотеку Bs4 Написал простой парсер имени человека, имя в теге h2, которая добавляется в cписок, при выводе списка в консоль пустые скобки Помогите решить проблему, код ниже
import csv from bs4 import BeautifulSoup import requests HOST = 'https://vk.com' URL = 'https://vk.com/judywb' CSV = 'mypage.csv' def get_html(url, params = ''): r = requests.get(url) return r def get_content(html): soup = BeautifulSoup(html, 'html.parser') items = soup.find_all('div', class_ = 'page_info_wrap ') info = [] for item in items: info.append( { 'name': item.find('h2', class_ = 'page_name').get_text(), } ) return info def save_dock(items, path): with open(path, 'w', newline = ' ') as file: writer = csv.writer(file, delimiter = ';') writer.writerow(['Имя']) for item in items: writer.writerow([ item['name'] ]) def parser(): html = get_html(URL) if html.status_code == 200: info =[] html = get_html(URL) info.extend(get_content(html.text)) print(info) else: print('вк ебланы') parser()
- python
- парсер
- вконтакте
- beautiful-soup
- bs4
Не нужно парсить ВКонтакте через bs4
. В большинстве случаев от вас будут требовать авторизацию, что через requests
не очень удобно делать. А ещё иногда будет captcha, с которой будет ещё больше проблем.
Лучше воспользоваться API для разработчиков. Можно отправлять запросы через requests
, а лучше воспользоваться уже написанными библиотеками, например vk_api
:
import vk_api vk_session = vk_api.VkApi('<Ваш логин>', '<Ваш пароль>') vk_session.auth() vk = vk_session.get_api() # Получить информацию о текущем пользователе vk.users.get() # Получить информацию о любом другом пользователе vk.users.get(user_ids=<id пользователя>) # Вместо <id пользователя> может быть список с несколькими идентификаторами
Зарегистрируйтесь или войдите
Регистрация через Google
Регистрация через Facebook
Регистрация через почту
Отправить без регистрации
Почта
Необходима, но никому не показывается
Отправить без регистрации
Почта
Необходима, но никому не показывается
Парсинг аккаунтов Инстаграм из ВКонтакте в программе SocialKit
Поделиться!
Одним из инструментов программы SocialKit является сбор аудитории для Инстаграм из ВКонтакте. Парсер позволяет собрать список сообществ ВК, а затем спарсить аккаунты в Инстаграм у участников этих групп.
В статье мы подробно расскажем, как спарсить профили Инстаграм из социальной сети ВКонтакте и как собранные данные использовать для дальнейшей работы.
Программа для раскрутки в Инстаграм — SocialKit:
- Сбор и фильтрация целевой аудитории
- Масслукинг, массфолловинг, масслайкинг
- Отложенный постинг фото, видео и историй
- Рассылка в Директ, автоответчик
Регистрация >>>
Как настроить сбор аудитории Инстаграм из групп ВКонтакте
Открываем программу SocialKit у себя на ПК. Добавляем технические аккаунты ВКонтакте и Инстаграм. Далее жмём «Задачи — Указать задачу».
Открываем вкладку «Формирование аудитории» и там выбираем «По группам ВКонтакте».
Шаг 1. Формирование списка сообществ. Перед тем, как начать сбор Инстаграм-аккаунтов, нужно сформировать список групп ВК, из которых мы будем парсить данные.
Указываем параметры сбора сообществ:
- Поисковый запрос. Пишем ключевое слово, которое должно быть в названии группы. Например, если вы работаете в нише проката автомобилей, то лучше собрать группы по запросам:
- Сколько сообществ собрать. Количество групп, которое мы хотим обработать.
- Страна и город. Если ваша компания привязана к определённому городу или региону, указываем их.
- Тип сообщества. Рекомендуем поставить отметку в поле «Любое», чтобы не ограничивать сбор групп.
В завершении кликаем на кнопку поиска и получаем список сообществ ВК. Список будут отображаться справа, в виде ID сообщества и количества участников в нём.
Шаг 2. Формирование списка пользователей Инстаграм. Список сообществ для парсинга готов, переходим к сбору аудитории. Выполняем следующие настройки:
- Аккаунты, с которых будут осуществляться поиск.
Отмечаемся технические аккаунты, с которых будет идти парсинг.
- Фильтр профилей ВКонтакте. Отмечаем нужные опции, если требуется предварительная фильтрация аудитории. К пример, если мы собираем аудиторию для магазина женской одежды, логично будет отметить только «Женщины».
- Учитывать возраст. В зависимости от портрета своей целевой аудитории, укажите возрастные рамки. Например, если это молодёжная одежда, поставьте возраст не старше 25 лет.
- Фильтровать по городу. Эта опция требуется в случае привязки к определённому месту. Очень часто люди остаются в группах, в которые давно вступили, но сами уже поменяли место жительства. Чтобы исключить их из обработки, выставляем фильтрацию по городу.
Закончив настройки, жмём «Собрать пользователей».
Собранная аудитория также отобразится справа. Сохраняем её в виде текстового файла у себя на ПК.
Обратите внимание, что программа спарсит Инстаграм-аккаунты только тех пользователей ВКонтакте, которые указали их у себя в профиле.
Статья в тему: Сбор целевой аудитории в Инстаграм
Что делаем дальше
Собранную аудиторию вы можете использовать для дальнейшей работы.
Например, можно запустить в SocialKit одну из задач по обработке аудитории: масслайкинг, масслукинг или массфолловинг.
Также, вы можете использовать полученные данные для рассылки, автокомментирования или мониторинга.
Заключение
Сбор аудитории из ВК — шикарный инструмент, который позволит:
- увеличить охват целевой аудитории;
- работать с аудиторией конкурентов и тематических сообществ из ВК;
- охватить пользователей, которых вы упускаете.
get-audio-vk — Анализ работоспособности пакетов npm
Все уязвимости безопасности относятся к производственных зависимостей прямых и косвенных
пакеты.
Риск безопасности и лицензии для основных версий
Все версии
Версия | Уязвимости | Лицензионный риск | |||
---|---|---|---|---|---|
09/2020 | Популярный |
|
| ||
2.![]() | | | 02/2020 |
|
| 3.![]() | | | 02/2020 |
|
|
1.![]() | | | 02/2020 |
|
|
Ваш проект подвержен уязвимостям?
Сканируйте свои проекты на наличие уязвимостей. Быстро исправить с помощью автоматизированного
исправления. Начните работу со Snyk бесплатно.
Начните бесплатно
Еженедельные загрузки (0)
Скачать тренд
- Звезды GitHub
- 5
- Вилки
- 1
- Авторы
- 2
Популярность прямого использования
Пакет npm get-audio-vk получает в общей сложности 0 загрузок в неделю. Таким образом, мы забили Уровень популярности get-audio-vk будет ограничен.
На основе статистики проекта из репозитория GitHub для
npm get-audio-vk, мы обнаружили, что он
снялся 5 раз.
Загрузки рассчитываются как скользящие средние за период из последних 12 месяцев, за исключением выходных и известных отсутствующих точек данных.
Частота фиксации
Нет последних коммитов
- Открытые задачи
- 0
- Открытый PR
- 6
- Последняя версия
- 3 года назад
- Последняя фиксация
- 2 года назад
Дальнейший анализ состояния обслуживания get-audio-vk на основе
каденция выпущенных версий npm, активность репозитория,
и другие точки данных определили, что его обслуживание
Неактивный.
Важным сигналом обслуживания проекта для get-audio-vk является это не видел никаких новых версий, выпущенных для npm в за последние 12 месяцев и может считаться прекращенным проектом или проектом, который получает мало внимания со стороны его сопровождающих.
За последний месяц мы не обнаружили никаких запросов на вытягивание или изменений в статус issue был обнаружен для репозитория GitHub.
- Совместимость Node.js
- не определен
- Возраст
- 3 года
- Зависимости
- 2 прямых
- Версии
- 20
- Установочный размер
- 35,5 КБ
- Распределенные теги
- 1
- Количество файлов
- 16
- Обслуживающий персонал
- 1
- Типы TS
- Нет
get-audio-vk имеет более одного и последнего тега по умолчанию, опубликованного для
пакет нпм. Это означает, что для этого могут быть доступны другие теги.
пакет, например рядом, чтобы указать будущие выпуски, или стабильный, чтобы указать
стабильные релизы.
Варианты использования API
Инструмент CLI
Инструмент интерфейса командной строки (CLI) можно загрузить из административного интерфейса. Инструмент CLI упрощает использование и настройку API-интерфейсов и сценариев автоматизации, а также их интеграцию с вашей установкой привилегированного удаленного доступа BeyondTrust.
Дополнительные сведения о загрузке и установке CLI Tool см. в разделе Конфигурация API в Руководстве администратора привилегированного удаленного доступа BeyondTrust.
Регистрация AWS
Регистрация актива выполняется в скрипте данных пользователя. Мы предоставляем пример сценария, который работает со стандартным AWS Linux AMI (хотя он должен работать с любым Linux AMI).
Настройка в /login
Мы настраиваем конечные точки, которые подключаются к сети, чтобы все они попадали в одну и ту же группу перехода и были доступны через одну и ту же точку перехода. В этом примере мы используем точку перехода с идентификатором 1 и общую группу перехода с идентификатором 1. В приведенном ниже сценарии они упоминаются как JUMPOINT_ID и JUMP_GROUP_ID. При необходимости настройте доступ к этой точке перехода и группе перехода.
Создайте учетную запись API для использования сценариями AWS и запишите CLIENT_ID и CLIENT_SECRET для использования в приведенном ниже сценарии.
В этом примере созданной учетной записи API не требуется доступ к Vault.
Настройка учетных данных SSH в Vault
Если у вас уже есть пара ключей в AWS, которую вы хотите использовать, убедитесь, что у вас есть закрытый ключ. Если нет, откройте раздел EC2 и перейдите к разделу «Сеть и безопасность» > «Пары ключей » в консоли AWS. Создайте новую пару ключей и сохраните закрытый ключ.
В /login перейдите к Vault > Accounts и добавьте новую общую учетную запись. Установите тип SSH и добавьте имя пользователя, которое вы используете в AMI (по умолчанию AWS это ec2-user ), а также закрытый ключ. Это имя пользователя — TARGET_USER в приведенном ниже сценарии.
В нижней части конфигурации учетной записи свяжите эту учетную запись с группой перехода, указанной выше, выбрав Элементы перехода, соответствующие критериям , и выбрав нужную группу перехода.
Сохраните новую учетную запись.
После сохранения учетной записи настройте групповую политику, чтобы предоставить пользователям разрешение на ее внедрение.
Развертывание экземпляров в EC2
Инициализация экземпляра EC2 выполняется с помощью сценариев пользовательских данных. Приведенный ниже сценарий регистрирует AMI Linux как прыжок оболочки с настроенными точкой перехода и группой перехода.
Подготовьте и разверните AMI Linux в EC2. В поле данных пользователя вставьте этот скрипт:
#!/bin/bash # Учетные данные SRA API экспортировать BT_CLIENT_ID=XXX экспортировать BT_CLIENT_SECRET=XXX экспортировать BT_API_HOST=XXX # Группа перехода и точка перехода для использования в создаваемом элементе перехода.JUMP_GROUP_ID=1 JUMP_GROUP_TYPE=общий JUMPOINT_ID=1 TARGET_USER=ec2-пользователь # Запросите у службы метаданных AWS информацию об этом экземпляре для использования # при создании Jump Item INSTANCE_ID=`завиток http://169.254.169.254/последние/метаданные/идентификатор экземпляра` INSTANCE_IP=`curl http://169.254.169.254/latest/meta-data/public-ipv4` INSTANCE_NAME=$INSTANCE_IP http_response=$(curl -s -o name.txt -w "%{http_code}" http://169.254.169.254/latest/meta-data/tags/instance/Name) если ["$http_response" == "200" ]; затем INSTANCE_NAME=$(имя кота.txt) фи удачное обновление apt install -y разархивировать curl -o btapi.zip -L https://$BT_API_HOST/api/config/v1/cli/linux распаковать btapi.zip эхо" имя=\"${ИМЯ_ЭКЗЕМПЛЯРА:-$INSTANCE_IP}\" имя хоста=$INSTANCE_IP jump_group_id=$JUMP_GROUP_ID jump_group_type=$JUMP_GROUP_TYPE имя пользователя=$TARGET_USER протокол=ssh порт=22 терминал=xterm jumppoint_id=$JUMPOINT_ID тег=$INSTANCE_ID " | ./btapi -k добавить прыжок-элемент/оболочка-прыжок имя РМ.
txt рм бтапи rm btapi.zip
- Добавьте учетные данные клиента как BT_CLIENT_ID и BT_CLIENT_SECRET.
- Добавьте имя хоста сайта как BT_API_HOST (только имя хоста, без HTTPS).
- Убедитесь, что значения TARGET_USER, JUMPOINT_ID и JUMP_GROUP_ID (и тип) настроены выше.
Этот сценарий загружает btapi и передает данные экземпляра для создания нового элемента Shell Jump. Jump Item доступен для немедленного использования, как только экземпляр появится в сети.
Этот скрипт использует InstanceId в качестве тега элемента, чтобы вы могли легко отфильтровать его позже при очистке. Он также пытается прочитать тег Name экземпляра, чтобы использовать его в качестве поля имени элемента перехода для упрощения идентификации в дальнейшем. Чтобы это работало, вы должны установить Разрешить теги в метаданных 9От 0389 до Включить при запуске экземпляра в AWS. Если имя недоступно, вместо него используется IP-адрес экземпляра.
AWS Cleanup
Очистка завершена AWS Jump Items можно автоматизировать несколькими способами, в зависимости от желаемого поведения. Здесь мы показываем два разных метода: сценарий, который можно запускать по требованию для очистки завершенных экземпляров, и функция AWS Lambda и правило EventBridge, которые запускаются автоматически.
Сценарий по запросу
Если вы хотите очистить элементы перехода по требованию, следующий сценарий можно запустить по мере необходимости или запланировать запуск по мере необходимости с помощью такого инструмента, как chron .
#!/бин/баш экспортировать BT_CLIENT_ID=XXX экспортировать BT_CLIENT_SECRET=XXX экспортировать BT_API_HOST=XXX экспортировать AWS_ACCESS_KEY_ID=XXX экспортировать AWS_SECRET_ACCESS_KEY=XXX # Обратите внимание, что для этого необходимо установить инструмент AWS CLI INSTANCE_IDS=$(aws ec2 description-instances --query 'Reservations[*].0__id=(\d+) $/ && напечатать $1') btapi --env-file=~/.config/aws-api удалить прыжок-элемент/шелл-прыжок $ID сделанный
Крючки AWS
Для настройки хуков в AWS требуются два элемента в AWS:
- Лямбда-функция для очистки
- Правило EventBridge для вызова функции Lambda
В следующем примере показан один из способов настройки этих компонентов.
Создание лямбды
В этом примере используется Python, но вы можете использовать ту же логику для любого предпочитаемого языка.
В этом примере используются библиотеки Python request, request_oauthlib и oauthlib. Чтобы использовать их, вы должны создать и загрузить слой с этими зависимостями, чтобы прикрепить его к лямбде. Это можно выполнить с локального компьютера с Linux, на котором установлена та же версия Python, которую использует лямбда, или вы можете использовать сервис AWS Cloud9 для запуска совместимой среды.
Чтобы создать слой, используйте следующие команды:
mkdir tmp компакт-диск tmp виртуальная среда источник ./v-env/bin/активировать запросы на установку pip oauthlib request_oauthlib деактивировать мкдир питон # Использование Python 3.9cp -r ./v-env/lib64/python3.9/site-packages/* python/. zip -r запросы_oauthlib_layer.zip питон # Или вручную загрузите zip в AWS Lambda > Layers версия-слоя-публикации aws lambda --имя-слоя request_oauthlib --zip-файл файлb://requests_oauthlib_layer.zip --совместимые среды выполнения python3.9
После добавления слоя перейдите в AWS Lambda и создайте новую функцию. Выберите Python в качестве среды выполнения с той же версией, что и выше. Для функции требуется Описание* для EC2, а также для общей роли AWS Lambda.
После создания функции замените содержимое сгенерированного файла lambda_function.py следующим сценарием:
import boto3 импорт ОС из oauthlib.oauth3 импортировать BackendApplicationClient из request_oauthlib импортировать OAuth3Session ec2 = boto3.client('ec2', region_name=os.environ.get('AWS_REGION')) BT_CLIENT_ID = os.environ.get('BT_CLIENT_ID') BT_CLIENT_SECRET = os.environ.get('BT_CLIENT_SECRET') BT_API_HOST = os.environ.get('BT_API_HOST') API класса: def __init__(self) -> Нет: self.client = BackendApplicationClient (client_id = BT_CLIENT_ID) self.oauth = OAuth3Session(client=self.client) self.token = 'плохой' вызов def (я, метод, URL-адрес, заголовки = нет, данные = нет, ** kwargs): def reload_token(r, *args, **kwargs): если r.status_code == 401: self.refreshToken() return self.call (метод, URL, заголовки = заголовки, данные = данные, ** kwargs) Элиф r.status_code > 400: r.raise_for_status() d = данные, если метод != 'получить' иначе Нет p = данные, если метод == 'получить' иначе Нет соотв = self.oauth.request( метод, f"https://{BT_API_HOST}/api/config/v1/{url}", заголовки = заголовки, json = d, params = p, hooks = {'response': reload_token}, **kwargs) resp.
raise_for_status() возврат соответственно def RefreshToken(self) -> Нет: self.token = self.oauth.fetch_token( token_url=f"https://{BT_API_HOST}/oauth3/токен", client_id=BT_CLIENT_ID, client_secret=BT_CLIENT_SECRET ) клиент = API() def lambda_handler (событие, контекст): экземпляры = ec2.describe_instances( Фильтры=[ {'Имя': 'имя-экземпляра-состояния', 'Значения': ['прекращено']} ] ) данные = [] для r в instances['Reservations']: например, в r['Экземпляры']: печать (инст) д = { 'идентификатор': inst['InstanceId'], 'состояние': inst['Состояние'], 'ip': inst.get('PublicIpAddress'), 'имя': [x['Значение'] для x в inst['Теги'], если x['Ключ'] == 'Имя'], } response = client.call('get', 'jump-item/shell-jump', data={'tag': inst['InstanceId']}) элементы = ответ.
json() если len(элементы) > 0: предмет = предметы[0] д['данные'] = элемент client.call('удалить', f'jump-item/shell-jump/{item["id"]}') data.append(d) возвращаться { 'код состояния': 200, 'тело': данные }
Затем прокрутите страницу вниз до панели Слои . Нажмите Добавить слой и выберите слой, который был создан выше.
Этот сценарий предназначен для чтения информации BT API из среды. Вы должны добавить переменные конфигурации BT_API_HOST, BT_CLIENT_ID и BT_CLIENT_SECRET в переменные Configuration -> Environment .
Настройка EventBridge
Перейдите к Amazon EventBridge > Правила и нажмите Создать правило . Назовите правило, убедитесь, что оно включено, выберите Правило с шаблоном событий и нажмите Далее .
Чтобы создать шаблон событий, выберите параметр «События AWS» или «События партнеров EventBridge» на панели Источник событий , а затем прокрутите вниз до панели Шаблон событий . Выберите параметр Пользовательские шаблоны (редактор JSON) , вставьте следующий шаблон и нажмите Далее .
{ "источник": ["aws.ec2"], "detail-type": ["Уведомление об изменении состояния экземпляра EC2"], "деталь": { "состояние": ["прекращено"] } }
В качестве цели события выберите AWS Service , затем выберите Лямбда-функция из раскрывающегося списка. Для функции выберите имя лямбды, созданной выше. Завершите создание определения правила.
Завершено
Когда правило и лямбда установлены, лямбда вызывается, когда любой экземпляр EC2 перемещается или перемещается в завершает статус и удаляется из списка элементов перехода.
Сценарий новой установки
Приведенный ниже сценарий выполняет более сложный автоматизированный процесс. Этот сценарий устанавливает данный экземпляр как точку перехода для VPC и создает новую группу перехода и ключ SSH в Vault для VPC. Затем он предоставляет доступ к этим новым ресурсам данной групповой политике.
Этот скрипт предполагает экземпляр Ubuntu Server.
AMI Amazon Linux не поддерживаются в качестве хостов Jumpoint. Хостам Jumpoint требуется GLIBC 2.27, а AMI Amazon Linux поддерживают только 2.26.
#!/бин/баш установить -euo pipefail установить -х # Учетные данные SRA API экспортировать BT_CLIENT_ID=XXX экспортировать BT_CLIENT_SECRET=XXX экспортировать BT_API_HOST=XXX # Установите идентификатор групповой политики, чтобы связать все вместе GROUP_POLICY_ID=XXX # Установите это на учетную запись пользователя для этого экземпляра TARGET_USER=убунту # Запросите метаданные AWS для этого экземпляра, чтобы получить данные, необходимые при создании элементов позже. INSTANCE_IP=`curl http://169.254.169.254/latest/meta-data/public-ipv4` macid=$(завиток http://169.254.169.254/latest/meta-data/network/interfaces/macs/) # Использование идентификатора VPC в качестве основы для всех наших имен NAME_BASE=$(завиток http://169.254.169.254/последние/мета-данные/сеть/интерфейсы/macs/${macid}/vpc-id) HOME=${HOME:=/home/$TARGET_USER} # Для запуска от имени пользователя JUMPOINT_BASE_DIR="$HOME/.beyondtrust/точка перехода" SYSTEMD_DIR="$HOME/.config/systemd/пользователь" SYSTEMD_ARGS=--пользователь JUMPOINT_USER="" если [ "$(whoami)" == "root" ]; затем # Для запуска от имени root JUMPOINT_BASE_DIR="/opt/beyondtrust/jumpoint" SYSTEMD_DIR="/etc/systemd/система" СИСТЕМА_ARGS="" JUMPOINT_USER="--пользователь $TARGET_USER" фи # Сделать вызовы команд немного проще для написания ORIG_PATH=$ПУТЬ cwd=$(pwd) экспорт ПУТЬ=$cwd:$ПУТЬ # Сервер Ubuntu не имеет распаковки по умолчанию судо подходящее обновление sudo apt install -y разархивировать # Загрузите jq в текущий каталог для облегчения разбора ответов JSON curl -L https://github.com/stedolan/jq/releases/download/jq-1.6/jq-linux64 -o jq чмод + х jq curl -o btapi.zip -L https://$BT_API_HOST/api/config/v1/cli/linux распаковать btapi.zip # Создайте точку перехода для этого VPC jp=$(эхо " имя=$NAME_BASE платформа = Linux-x86 shell_jump_enabled = Истина " | btapi -k добавить точку перехода) jpid=$(эхо "$jp" | jq '.id') echo "Создана точка перехода с идентификатором [$jpid]" # Скачайте и запустите установщик Jumpoint installer=$(btapi скачать "jumpoint/$jpid/installer" | jq -r '.
file') chmod +x "установщик $" # Убедитесь, что базовый каталог установки существует mkdir -p "$JUMPOINT_BASE_DIR" # ВАЖНО: Убедитесь, что в вашем дистрибутиве Linux есть все пакеты, необходимые для установки # Точка перехода. Сервер Ubuntu 22 нуждается в этих двух sudo apt install -y libxkbcommon0 fontconfig sh "$installer" --install-dir "$JUMPOINT_BASE_DIR/$BT_API_HOST" $JUMPOINT_USER # Убедитесь, что каталог службы systemd существует (в основном для каталога пользовательского режима) mkdir -p "$SYSTEMD_DIR" # Создаем служебный файл systemd эхо "[Единица измерения] Description=BeyondTrust Служба Jumpoint Хочет=network.target После=network.target [Услуга] Тип = разветвление ExecStart=$JUMPOINT_BASE_DIR/$BT_API_HOST/запуск скрипта инициализации" > "$SYSTEMD_DIR/jumpoint.$BT_API_HOST.service" если [ "$(whoami)" != "$TARGET_USER" ]; затем echo "Пользователь=$TARGET_USER" >> "$SYSTEMD_DIR/jumpoint.$BT_API_HOST.service" фи эхо" Перезапустить=нет Рабочий каталог=$JUMPOINT_BASE_DIR/$BT_API_HOST [Установить] WantedBy=default.
target " >> "$SYSTEMD_DIR/точка перехода.$BT_API_HOST.service" # Загрузите сервис Jumpoint и запустите его systemctl $SYSTEMD_ARGS демон-перезагрузка systemctl $SYSTEMD_ARGS запустить "точку перехода.$BT_API_HOST.service" # Очистить установочный файл rm -f "$установщик" # Создайте группу перехода для этого VPC jg=$(эхо " name=\"Группа перехода $NAME_BASE\" " | btapi -k добавить группу прыжков) jgid=$(эхо "$jg" | jq '.id') # Создайте ключ SSH для этого VPC и добавьте закрытый ключ в хранилище # ПРИМЕЧАНИЕ. Вам нужно будет вручную связать эти учетные данные с # Группа перехода для этого VPC в /login ssh-keygen -f "./key" -P "" -q -t ed25519коснитесь "$HOME/.ssh/authorized_keys" кот ./key.pub >> "/home/$TARGET_USER/.ssh/authorized_keys" priv=$(кат./ключ) вк=$(эхо " тип = SSH имя=\"$NAME_BASE SSH\" имя пользователя=$TARGET_USER private_key=\"$priv\" " | btapi -k добавить хранилище/учетную запись) vkid=$(эхо "$vk" | jq '.id') # Очистить ключ rm -f ./ключ rm -f ./key.pub # Создать элемент SSH Jump обратно в этот экземпляр эхо" name=\"$NAME_BASE Точка перехода\" имя хоста=$INSTANCE_IP jump_group_id=$jgid jump_group_type = общий имя пользователя=$TARGET_USER протокол=ssh порт=22 терминал=xterm jumppoint_id=$jpid " | btapi -k добавить прыжок-предмет/оболочку-прыжок # Измените групповую политику, чтобы предоставить доступ к учетной записи Jumpoint, Jump Group и Vault.