Виртуальные машины GCP + файл ssh/config
Ребята.
GCP предлагает несколько способов ssh-ов в gcloud, облачной оболочке и облачном SDK для локальных машин.
Хотя все эти параметры хороши, и я их использую, я обычно предпочитаю использовать.ssh/config, чтобы сократить процесс входа в систему на компьютерах.
Например, для EC2 вы просто добавляете:
Host $name
HostName $hostname
User $username
IdentityFile $pathtoFile
Есть ли способ повторить это для виртуальных машин GCP?
Спасибо
2 ответа
Согласно этому документу
Если вы уже подключились к экземпляру с помощью инструмента gcloud, ваши ключи уже созданы и применены к вашему проекту или экземпляру. Ключевые файлы доступны в следующих местах:
- Linux и macOS
- Открытый ключ: $HOME/.ssh/google_compute_engine.pub
- Закрытый ключ: $ HOME /.ssh / google_compute_engine
- Windows
- Открытый ключ: C:\Users[ИМЯ ПОЛЬЗОВАТЕЛЯ].ssh\google_compute_engine.pub
- Закрытый ключ: C:\Users[ИМЯ ПОЛЬЗОВАТЕЛЯ].ssh \ google_compute_engine
Вы можете использовать ключ с типичным -i
или в .ssh/config
Конфигурационный файл
Или просто сделать
ssh-add ~/.ssh/google_compute_engine
добавить личность в ваш агент SSH.
PS> Я видел, как люди создают псевдоним для команды ssh, что-то вроде
alias gce='gcloud compute ssh'
Если вы хотите использовать SSH для разных экземпляров облачного проекта Google (от Mac или Linux), сделайте следующее:
Шаг 1. Установите ключи SSH без пароля
Используйте следующую команду для генерации ключей на вашем Mac
ssh-keygen -t rsa -f ~/.ssh/<private-key-name> -C <your gcloud username>
Например private-key-name
может быть bpa-ssh-key
, Это создаст два файла со следующими именами в ~/.ssh
каталог
bpa-ssh-key
bpa-ssh-key.pub
Шаг 2. Обновите открытый ключ в вашем проекте GCP
Перейдите в Google Cloud Console, выберите свой проект, затем
VMInstances->Metadata->SSH Keys->Edit->Add Item
Вырежьте и вставьте содержимое bpa-ssh-key.pub
(от вашего Mac) здесь, а затем сохранить
Сбросить инстанс виртуальной машины, если он работает
Шаг 3. Редактировать config
файл под ~/.ssh
на вашем Mac Редактировать ~/.ssh/config
добавить следующие строки, если их еще нет
Host *
PubKeyAuthentication yes
IdentityFile ~/.ssh/bpa-ssh-key
Шаг 4. SSHing к экземпляру GCP
ssh username@gcloud-externalip
Он должен создать оболочку SSH без запроса пароля (поскольку вы создали ключи RSA/SSH без пароля) в экземпляре gcloud.
Поскольку метаданные являются общими для всех экземпляров одного и того же проекта, вы можете использовать SSH без швов для любого экземпляра, выбрав соответствующий внешний IP-адрес экземпляра gcloud.