Невозможно зафиксировать файлы, появляется сообщение об ошибке «vs-ssh.visualstudio.com: В доступе отказано (пароль, публичный ключ)» - PullRequest
0 голосов
/ 14 мая 2019

У меня есть настройки Azure Devops Git, Nexus Central Repository и Jenkins. И моя локальная кодовая база находится в затмении, откуда я хотел бы запустить сборку maven позже, чтобы снимки и выпуски загружались в Nexus Repository позже. Но в настоящее время, когда я запускаю сборки в Jenkins Freestyle Item для проекта, который я настроил, я установил соединение через ключи SSH и личные маркеры Git-хранилища Azure Devops с Nexus Central Repository и местоположением Azure Devops Git. Соединение установлено успешно, и я могу успешно запустить сборку в Jenkins, то есть получить все файлы из Nexus. Но в конце сборки Jenkins выдает отчет об ошибке сборки, и Jenkins выдает ошибку

Unable to commit files
Provider message:
The git-push command failed.
Permission denied, please try again.

***@vs-ssh.visualstudio.com: Permission denied (password,publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights and the repository exists.

Я сгенерировал ключи безопасности RSA в папке C: \ Users ***. Ssh \, в которой есть 3 файла: id_rsa (закрытый ключ), id_rsa.pub (открытый ключ) и known_hosts. Из этой проблемы я понимаю, что мне нужно было добавить ключ SSH в мой агент SSH (добавив открытый ключ к моему хосту Azure Devops и файлу known_hosts), чтобы мой компьютер знал, как его использовать. Я попытался запустить команду ниже из Git Bash

$ ssh -i  ~/.ssh/id_rsa abc@***.visualstudio.com/ -v

и тогда у меня была ошибка, как показано ниже

ssh: Could not resolve hostname **.visualstudio.com/: Name or service not known

Я не могу связаться через порт 22 для SSH, хотя я настроил правила для входящих / исходящих сообщений в брандмауэре Windows и открыл все порты. И я также сделал переменную «HOME» User Variable в среде Environment, указывая на мой домашний каталог пользователя C: \ Users *** \ в соответствии с необходимостью установки Jenkins SSH.

Пожалуйста, помогите мне в этом, так как я не уверен, где я делаю неправильно.

1 Ответ

0 голосов
/ 11 июня 2019

Для машины с Windows вам нужно создать файл config в следующем каталоге /c/Users/PC_USER_NAME/.ssh/, где вы можете определить файл ключа для определенного хоста.

Вы можете увидеть решение здесь: Как сгенерировать несколько открытых ключей SSH и настроить их на Windows-машине из gitbash?

...