我正在使用Portable Class Libraries (PCL)开发一个Xamarin Forms应用程序。
我已经在Android上编译和调试了我的应用程序,但现在我想在iOS上运行应用程序以在该平台上进行测试。
我在PC和Mac之间的连接出现了问题。
我有一台安装有Visual Studio Community 2015和Xamarin工具的Windows 8.1 PC。
在我的Mac Mini上,我安装了OS X(v10.11.3)、XCode(v7.2)和Xamarin Studio,并使用了我的Xamarin帐户登录。
在这两台机器上,我都安装了相同版本的Xamarin。
我遵循了Xamarin walkthrough。
在Visual Studio中,我打开了Xamarin Mac Agent。它找到了我的Mac Mini。然后它要求我输入Mac凭据(用户名和密码)。
登录功能目前可用。
然后,在解决方案中,我将iOS项目设置为启动项目。我清理解决方案,再次构建并开始编译/调试过程(F5)。在此时,输出检索到一条消息:
1>正在连接到Mac服务器Macs-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客户端)检查了我的用户名/密码是否能够连接到Mac,并且成功了。
每当我使用Xamarin Mac Agent时,Visual Studio都会向/Users/macmini2/.ssh/authorized_keys文件(Mac机器)添加一个新的密钥条目(它会添加相同的重复内容)。
我看到问题可能与ssh密钥有关。我为什么会出现这个问题?我做错了什么?
我测试过的一件事是直接在Mac上用Xamarin Studio打开Xamarin项目,构建并运行模拟器。它可以正常工作。
我看到了其他类似的问题, 但我认为它没有同样的问题。
编辑:
当我尝试编译/调试时出现错误的更具体信息:
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
但现在我不知道该怎么做才能解决它。