wake-up-neo.net

Ich kann keine Verbindung zu Mac mit Xamarin Mac Agent aus Visual Studio 2015 herstellen

Ich mache mein Abenteuer mit Xamarin weiter.

Ich entwickle eine Xamarin Forms-Anwendung mit einer Portable Class Libraries (PCL).

Ich habe meine Anwendung von Android kompiliert und debuggt, aber jetzt bin ich daran interessiert, die Anwendung in iOS auszuführen, um sie auf dieser Plattform zu testen.

Ich habe ein Problem mit der Verbindung zwischen meinem PC und dem Mac.

Ich habe einen PC (Windows 8.1) mit Visual Studio Community 2015 mit Xamarin-Tools installiert.

In meinem Mac Mini habe ich OS X (Version 10.11.3), XCode (Version 7.2) und Xamarin Studio installiert. Ich habe mich mit meinem Xamarin-Konto angemeldet.

In beiden Maschinen habe ich die gleiche Xamarin-Version.

Ich habe die Xamarin-Komplettlösung verfolgt.

In Visual Studio öffne ich den Xamarin Mac Agent. Es findet meinen Mac Mini. Dann fragt es mich nach den Mac-Zugangsdaten (Benutzer und Passwort).

 enter image description here

Der Login funktioniert an dieser Stelle.

 enter image description here

Dann habe ich in der Lösung das iOS-Projekt als Startprojekt festgelegt. Ich säubere die Lösung, baue erneut und starte den Kompilierungs-/Debug-Prozess (F5).

In diesem Punkt ruft die Ausgabe eine Nachricht ab:

1> Anschließen an einen Mac-Server Macs-Mac-mini.local ...

1> C:\Programme (x86)\MSBuild\Xamarin\iOS\Xamarin.iOS.Windows.After.targets (54,5): Warnung: Der Benutzer konnte die vorhandenen SSH-Schlüssel nicht authentifizieren

1> C:\Programme (x86)\MSBuild\Xamarin\iOS\Xamarin.iOS.Windows.After.targets (54,5): Fehler: Verbindung mit Adresse = 'Macs-Mac-mini.local' kann nicht hergestellt werden Benutzer = 'macmini 

Ich habe PuTTY (SSH-Client) verwendet, um mit meinem Benutzer/Passwort zu überprüfen, ob ich eine Verbindung zum Mac herstellen kann und Erfolg hatte.

In der Datei /Users/macmini2/.ssh/authorized_keys (Mac-Computer) jedes Mal, wenn ich den Xamarin Mac Agent verwende, fügt Visual Studio einen neuen Schlüsseleintrag hinzu (derselbe wiederholt sich).

Ich sehe, dass das Problem möglicherweise mit ssh-Schlüsseln zusammenhängt. Warum habe ich dieses Problem? Was mache ich falsch?

Eine Sache, die ich getestet habe, war, das Xamarin-Projekt direkt in Mac mit Xamarin Studio zu öffnen, es zu bauen und den Simulator auszuführen. Es klappt.

Ich habe andere ähnliche Frage gesehen, aber ich denke, dass es nicht das gleiche Problem hat.

EDIT:

Spezifischere Informationen zu dem Fehler, wenn ich versuche zu kompilieren/debuggen:

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 ---

EDIT 2:

Ich habe die Seite Troubleshooting Xamarin überarbeitet , die besagt, dass die Authentifizierung mit SSH-Schlüsseln nicht möglich ist. Bitte versuchen Sie, sich zuerst mit den Anmeldeinformationen anzumelden.

Ich bin gerannt:

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

Und der Inhalt der Datei lautet:

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

Aber jetzt weiß ich nicht, was ich tun muss, um es zu lösen.

20
stivex

Ich habe die Lösung für mein Problem gefunden. Ich habe folgende Schritte gemacht:

  1. In meinem Windows: Ich habe den Inhalt von "% localappdata%\Xamarin\MonoTouch" entfernt.
  2. Mac-Terminal: Entfernen Sie die Mac-Datei "Authorized_keys" (in meinem Fall "rm /Users/macmini2/.ssh/authorized_keys")
  3. Im Mac-Terminal: chmod g-w/Benutzer/macmini2 /
  4. Im Mac-Terminal: chmod 700 /Users/macmini2/.ssh/
  5. Auf dem Mac-Terminal: Erstellen Sie eine leere Datei: /Users/macmini2/.ssh/authorized_keys (z. B. mit vim)
  6. Im Mac-Terminal: chmod 600 /Users/macmini2/.ssh/authorized_keys
  7. Bei Visual Studio: Mit Xamarin Mac Agent anmelden 
  8. Bei Visual Studio: Führen Sie die Anwendung mit [Debug] - [iPhoneSimulator] - [iPhone 5 iOS 8.1] aus.
  9. Und schließlich läuft der Simulator auf einem Mac-Computer.

Dieser Link hat mir geholfen.

14
stivex

Sie müssen versuchen, alles aus zu löschen 

%localappdata%\Xamarin\MonoTouch

Es hat mir geholfen, ich hatte heute das gleiche (oder ähnliche) Problem. 

25

Xamarin hat eine Problembehandlungsseite mit einem großen Fokus auf SSH-Problemen:

Fehlerbehebung bei Verbindungen

Speziell diese beiden:

Speicherort der Protokolldatei

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

Die Protokolldateien können unter "Hilfe"> "Xamarin"> "Zip-Protokolle" in Visual Studio gesucht werden.

"Authentifizierung mit SSH-Schlüsseln nicht möglich. Bitte versuchen Sie sich zuerst mit Anmeldeinformationen anzumelden."

Bekannte Ursache:

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".

Außerdem gibt es diesen Abschnitt, der nicht direkt mit dem angezeigten Fehler übereinstimmt, jedoch einige Details zur SSH-Konfiguration und -Diagnose enthält:

"Konnte keine Verbindung zu MacBuildHost.local herstellen. Bitte versuchen Sie es erneut."

Berichtete Ursachen:

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.
6
Marakai

Ich habe dieses Problem gerade gelöst. Es war Unsinn.

So verbinden Sie das Visual Studio Xamarin-Projekt und simulieren es auf einem Mac, wenn Sie Folgendes erhalten: 

Konnte keine Verbindung zu computername.local herstellen. Bitte versuchen Sie es später erneut.

Was Sie als nächstes tun müssen:

  1. Folgen Sie der Lösung von der Xamarin-Community über die Mac-Verbindung Nach diesem Punkt, wenn alles in Ordnung ist, werden Sie eine Verbindung herstellen.
  2. Installieren Sie XAMARIN STUDIO auf dem MAC. Starten Sie nach der Installation XAMARIN Studio, erstellen Sie Ihre eigene App und führen Sie sie mit dem Simulator aus
  3. Schließen Sie die App und versuchen Sie erneut, eine Verbindung von einem Windows-Computer aus herzustellen. __ An diesem Punkt stellen Sie die Synchronisierung ein und das ist alles.

Problem gelöst! Ich hoffe, dass dies für jemanden nützlich sein wird.

5

Für mich half die nächste Lösung: 1) Öffnen Sie Visual Studio unter Windows: Tools => Optionen => Xamarin => Andere, und klicken Sie auf Jetzt prüfen

2) Öffnen Sie die Xamarin Studio Community auf dem Mac ( https://www.xamarin.com/download ) Xamarin Studio Community => Nach Updates suchen ... (und zuletzt herunterladen)

Nach Updates funktioniert alles gut.

4
Andriy Grytsiv

Ich habe einige der hier genannten Lösungen ausprobiert und hatte keinen Erfolg.

Wenn ich jedoch Visual Studio im Administrator-Modus ausführen möchte, kann ich eine Verbindung herstellen. Dies ist jedoch nicht ideal. Könnte für einige eine Umgehung sein, bis eine bessere Lösung gefunden wird.

2
SuperAaz

In meinem Fall habe ich mono sdk auf meinem Mac installiert. Es löst das Problem http://www.mono-project.com/download/#download-mac

1
hkguile

Der vom Visual Studio-Assistenten angezeigte Agent wurde ignoriert. Etwas über den Mac-Computernamen, den VS nicht verstanden hat.

Ich habe 'Add Mac' hinzugefügt, die IP-Adresse verwendet und dann verbunden. Das war nervig.

1
Axle

Für das, was es wert ist, habe ich dieses Problem gerade gelöst, indem ich die Protokolle wie oben und in den Xamarin-Dokumentationen zur Problembehandlung überprüft habe. Es stellte sich heraus, dass es nicht übereinstimmende iOS-Versionen gab. Nachdem ich die Mac-Version aktualisiert hatte, funktionierte es.

 enter image description here

1
brheal

Dies ist keine perfekte Lösung, hat aber in meinem Fall zum Erfolg geführt

Ihr Mac-Konto sollte keine Sonderzeichen enthalten. Dies ist eine Einschränkung bei der Verbindung von Windows zu Mac

firma-Mac1 --- falsch

comapanymac1 --- richtig

1
Sanjeev Rao

Ich glaube, das, was für mich behoben wurde, war git bash zu öffnen und dann ssh onto the mac box auszuführen. Nachdem wir Y zu trusting credentials gesagt hatten, hat es funktioniert.

0
Pellet

Haben Sie die Remote-Anmeldung aktiviert und dies ist der Benutzer/die Anmeldung, der aktuell an der Maschine angemeldet ist? Haben Sie auch versucht, eine direkte Verbindung zur IP-Adresse anstelle des DNS-Namens herzustellen? 

Ich bin in einem Client-Netzwerk (eine andere Domäne als meines) und mein VS würde sich niemals über den Computernamen verbinden. Ich immer musste die IP-Adresse eingeben. Achten Sie auch auf die Ausgabe von "Xamarin" im Ausgabebereich/Fenster und sehen Sie, ob es weitere hilfreiche Informationen gibt.

0
valdetero

Ich hatte dieses Problem vor kurzem (obwohl ich die Freigabe auf dem OSX-Host aktiviert und die Firewall überprüft hatte), und es stellte sich heraus, dass sowohl der OSX-Computer als auch der Windows-Computer exakt dieselbe Version von Xamarin.iOS und einen Neustart benötigten. 

Beide zu aktualisieren, beide neu zu starten, löste das Problem für mich. 

0
Dr. ABT