Подтвердить что ты не робот

Я не могу подключиться к Mac с Xamarin Mac Agent из Visual Studio 2015

Я продолжаю свое приключение с Xamarin.

Я разрабатываю приложение Xamarin Forms с портативными библиотеками классов (PCL).

Я скомпилировал и отладил мое приложение на Android, но теперь мне интересно запустить приложение в iOS для тестирования на этой платформе.

У меня проблема с подключением моего ПК и Mac.

У меня есть ПК (Windows 8.1) с Visual Studio Community 2015 с установленными инструментами Xamarin.

В моем Mac Mini я установил OS X (v10.11.3), XCode (v7.2) и Xamarin Studio. Я вошел в систему с моей учетной записью Xamarin.

В двух машинах у меня такая же версия Xamarin.

Я последовал за прохождение Xamarin.

В Visual Studio я открываю агент Xamarin Mac. Он находит мой Mac Mini. Затем он запрашивает у меня учетные данные Mac (пользователь и пароль).

введите описание изображения здесь

Вход в систему работает на этом этапе.

введите описание изображения здесь

Затем в решении я установил проект iOS в качестве запуска. Я очищаю решение, снова создаю и запускаю процесс компиляции/отладки (F5).

В этом пункте вывод получает сообщение:

1 > Подключение к Mac-серверу Mac-Mac-mini.local...

1 > C:\Program Files (x86)\MSBuild\Xamarin\iOS\Xamarin.iOS.Windows.After.targets(54,5): предупреждение: не удалось аутентифицировать пользователя, используя существующие ключи ssh

1 > C:\Program Files (x86)\MSBuild\Xamarin\iOS\Xamarin.iOS.Windows.After.targets(54,5): ошибка: не удается подключиться к Address = 'Macs-Mac-mini. local 'с User =' macmini

Я использовал Putty (SSH Client) для проверки с моим пользователем/паролем, если я могу подключиться к Mac, и у меня был успех.

В файл Into/Users/macmini2/.ssh/authorized_keys (машина Mac) каждый раз, когда я использую агент Mac Xamarin, Visual Studio добавляет новую ключевую запись (она добавляет то же повторение).

Я вижу, что, возможно, проблема связана с ключами ssh. Почему у меня такая проблема? Что я делаю неправильно?

Вещь, которую я тестировал, открыла проект Xamarin прямо на Mac с Xamarin Studio, построила его и запустила симулятор. Он работает.

Я видел другие подобные question, но я думаю, что у него нет той же проблемы.

EDIT:

Более конкретная информация об ошибке при попытке скомпилировать/отлаживать:

Could not authenticate the user using the existing ssh keys
Xamarin.Messaging.VisualStudio.MessagingAuthenticationException: Could not authenticate the user using the existing ssh keys ---> Renci.SshNet.Common.SshAuthenticationException: Permission denied (publickey).
   en Renci.SshNet.ClientAuthentication.Authenticate(IConnectionInfoInternal connectionInfo, ISession session)
   en Renci.SshNet.ConnectionInfo.Authenticate(ISession session)
   en Renci.SshNet.Session.Connect()
   en Renci.SshNet.BaseClient.Connect()
   en Xamarin.Messaging.VisualStudio.MessagingService.<ConnectAsync>d__70.MoveNext()
   --- Fin del seguimiento de la pila de la excepción interna ---

ИЗМЕНИТЬ 2:

Я пересмотрел поиск и устранение неполадок на странице Xamarin, в частности, что он говорит: "Не удалось аутентифицировать ключи SSH. Пожалуйста, попробуйте войти с учетными данными первый".

Я запустил:

chmod og-w "$HOME"
grep sshd /var/log/system.log > "$HOME/Desktop/sshd.log"
cd Desktop
cat sshd.log

И содержимое файла:

Apr 18 09:23:28 Macs-Mac-mini sshd[769]: Authentication refused: bad ownership or modes for directory /Users/macmini2/.ssh
Apr 18 09:25:27 Macs-Mac-mini com.apple.xpc.launchd[1] (com.openssh.sshd.EE9A94ED-????-....-????-77254934B300[769]): Service exited with abnormal code: 1
Apr 18 09:59:39 Macs-Mac-mini sshd[1036]: Accepted keyboard-interactive/pam for macmini2 from 192.168.54.14 port 60413 ssh2
Apr 18 09:59:39 Macs-Mac-mini sshd: macmini2 [priv][1036]: USER_PROCESS: 1040 ttys000

Но теперь я не знаю, что мне нужно сделать, чтобы решить эту проблему.

4b9b3361

Ответ 1

Я нашел решение проблемы. Я выполнил следующие шаги:

  • В моей Windows: Я удалил контент из "% localappdata%\Xamarin\MonoTouch".
  • В терминале Mac: Удалите файл с авторизованным_keys Mac ( "rm/Users/macmini2/.ssh/authorized_keys" в моем случае)
  • В терминале Mac: chmod g-w/Users/macmini2/
  • В терминале Mac: chmod 700/Users/macmini2/.ssh/
  • В терминале Mac: Создайте пустой файл:/Users/macmini2/.ssh/authorized_keys (например, с помощью vim)
  • В терминале Mac: chmod 600/Users/macmini2/.ssh/authorized_keys
  • В Visual Studio: Вход с помощью агента Xamarin Mac
  • В Visual Studio: Запустите приложение с помощью [Debug] - [iPhoneSimulator] - [iPhone 5 iOS 8.1]
  • И, наконец, симулятор работает на компьютере Mac.

Эта ссылка помогла мне.

Ответ 2

Вам нужно попробовать удалить все из

%localappdata%\Xamarin\MonoTouch

Это помогло мне, у меня была такая же (или подобная) проблема сегодня.

Ответ 3

У Xamarin есть страница устранения неполадок с большим вниманием к проблемам SSH:

Устранение неполадок подключения

В частности, эти два:

Местоположение журнала

Mac – ~/Library/Logs/Xamarin-[MAJOR.MINOR]
Windows – %LOCALAPPDATA%\Xamarin\Logs

Файлы журналов можно найти, перейдя в меню Справкa > Xamarin > Zip Logs в Visual Studio.

"Невозможно выполнить аутентификацию с помощью SSH-ключей. Сначала попробуйте войти с учетными данными"

Известная причина:

SSH security restriction – This message most often means that one of the files or directories in the fully qualified path of $HOME/.ssh/authorized_keys on the Mac has write permissions enabled for other or group members. Common fix: Run chmod og-w "$HOME" in a Terminal command prompt on the Mac. For details about which particular file or directory is causing the problem, run grep sshd /var/log/system.log > "$HOME/Desktop/sshd.log" in Terminal, and then open the sshd.log file from your Desktop and look for "Authentication refused: bad ownership or modes".

Кроме того, есть этот раздел, который напрямую не соответствует ошибке, которую вы видите, но подробно описывает конфигурацию и диагностику SSH:

"Не удалось подключиться к MacBuildHost.local. Повторите попытку."

Сообщенные причины:

Bug – A few users have seen this error message when attempting to log in to the build host using an Active Directory domain user account.

Bug – Some users have seen this error when attempting to connect to the build host by double-clicking the name of the Mac in the connection dialog. Possible workaround: Manually add the Mac using the IP address.

Bug #35971 – Some users have run across this error when using a wireless network connection between the Mac build host and Windows. Possible workaround: Move both computers to a wired network connection.

Bug #36642 – On Xamarin 4.0, this message will appear anytime the $HOME/.bashrc file on the Mac contains an error. (Starting with Xamarin 4.1, errors in the .bashrc file will no longer affect the connection process.) Workaround: Move the .bashrc file to a backup location (or delete it if you know you don't need it).

Limitation – This error can appear if the Mac build host is connected to a router that has no access to the internet (or if the Mac is using a DNS server that times out when asked for the reverse-DNS lookup of the Windows computer). Visual Studio will take roughly 30 seconds to retrieve the SSH fingerprint and eventually fail to connect.

Possible workaround: Add "UseDNS no" to the sshd_config file. Be sure to read about this SSH setting before changing it. See for example http://unix.stackexchange.com/questions/56941/what-is-the-point-of-sshd-usedns-option.

The following steps describe one way to change the setting. You will need to be logged in to an administrator account on the Mac to complete the steps.

    Confirm the location of the sshd_config file by running ls /etc/ssh/sshd_config and ls /etc/sshd_config in a Terminal command prompt. For all of the remaining steps, be sure to use the location that does not return "No such file or directory".

    Run cp /etc/ssh/sshd_config "$HOME/Desktop/" in Terminal to copy the file to your desktop.

    Open the file from your Desktop in a text editor. For example you can run open -a TextEdit "$HOME/Desktop/sshd_config" in Terminal.

    Add the following line at the bottom of the file:

    UseDNS no

    Remove any lines that say UseDNS yes to make sure the new setting takes effect.

    Save the file.

    Run sudo cp "$HOME/Desktop/sshd_config" /etc/ssh/sshd_config in Terminal to copy the edited file back into place. Enter your password if prompted.

    Disable and re-enable Remote Login under System Preferences > Sharing > Remote Login to restart the SSH server.

Ответ 4

Я только что решил эту проблему! Это был вздор.

Чтобы подключить проект Visual Studio Xamarin и смоделировать его на Mac, когда вы получите:

Не удалось подключиться к computername.local, повторите попытку позже.

Что вам нужно сделать дальше:

  • Следуйте за решением сообщества xamarin о подключении к Mac после этого пункта, если все ОК, вы будете подключаться, но если нет..
  • Установите XAMARIN STUDIO на MAC. После установки запустите студию XAMARIN, создайте свое приложение и запустите с симулятором
  • Закройте приложение и попробуйте подключиться снова с компьютера Windows. На этом этапе вы выполните синхронизацию и все.

Проблема решена! Я надеюсь, что это будет полезно для кого-то.

Ответ 5

Мне помогло следующее решение: 1) В Windows открыта Visual Studio: Инструменты = > Опции = > Xamarin = > Другое и нажмите "Проверить"

2) На Mac открытое сообщество Xamarin Studio (https://www.xamarin.com/download) Сообщество Xamarin Studio = > Проверить наличие обновлений... (и загрузить последнюю версию)

После обновления все работает нормально.

Ответ 6

Я попробовал несколько решений, упомянутых здесь, и не имел успеха.

Однако (хотя и не идеально), если я запускаю Visual Studio в режиме администратора, я могу успешно подключиться. Возможно, это будет работать, пока не будет найдено лучшее решение.

Ответ 7

Для чего я просто решил эту проблему, проверив журналы, как указано выше, и в Документах по устранению неполадок Xamarin. Это оказалось несоответствующим версиям iOS. Как только я обновил версию Mac, он сработал.

введите описание изображения здесь

Ответ 8

Это не идеальное решение, но сделало успех в моем случае

Ваша учетная запись Mac не должна содержать никаких специальных символов. Это ограничение в отношении к mac из окон

company-mac1 --- wrong

comapanymac1 --- Правильно

Ответ 10

Вы включили удаленный вход в систему, и это пользователь/логин, который в настоящее время входит в систему? Кроме того, вы пытались подключиться непосредственно к IP-адресу вместо имени DNS?

Я нахожусь в клиентской сети (другой домен, чем мой), и мой VS никогда не будет подключаться через имя компьютера. Я всегда должен был ввести IP-адрес. Кроме того, посмотрите, что вы выбрали для "Xamarin" в панели "Выход" /окне и посмотрите, дает ли она более полезную информацию.

Ответ 11

У меня была эта проблема в последнее время (несмотря на то, что вы включили общий доступ к хосту OSX и проверку брандмауэра), и выяснилось, что обе машины OSX и Windows Machine нуждались в той же версии Xamarin.iOS и перезагрузке.

Обновление обоих, перезапуск обоих, решил проблему для меня.

Ответ 12

Я думаю, что для меня исправлено открытие git bash, а затем запуск ssh onto the mac box. После выражения Y до trusting credentials он работал.

Ответ 13

Игнорируется агент, который показал мастер Visual Studio. Что-то о имени компьютера Mac В.С. не понял.

Я сделал "Добавить Mac", использовал IP-адрес, затем подключился. Это было неприятно.