使用 Xamarin Mac 代理连接到在自定义 SSH 端口上运行在 NAT 后面的 Mac



我有Mac,可以通过路由器上的NATed端口6535从外部网络访问;路由器本身也公开端口22。我希望通过 Xamarin Mac 代理从外部网络连接到我的 Mac。

我能够通过SSH(Putty)连接到路由器和Mac,但是当我尝试从Visual Studio 2017(或MsBuild命令提示符)连接到Mac时,在服务器IP中输入类似1.1.1.1:6535的内容(其中1.1.1.1被我的路由器外部IP替换) - 我通过指纹看到,工作室正在使用端口22进行连接(我看到我的路由器指纹, 而不是我的Mac指纹)。

是否可以从Visual Studio和MsBuild中运行的Xamarin Mac代理连接到自定义端口?

是否可以配置 Xamarin Mac 代理的端口?(到端口 22 以外的其他内容) - 建议我需要先成功连接,但我不能。从连接成功的计算机导入注册表项无济于事,因为VS仍在尝试通过指纹看到的端口22连接到远程主机(因此,我仍然无法从Visual Studio连接)。如果我尝试直接调用 MsBuild - 它也失败了,因为 MsBuild 只是忽略了端口指令。

我在提升的开发人员命令提示符下使用以下 cmdline 启动 MsBuild:msbuild mySolution.sln /t:Clean;Build /p:Configuration="Release";IpaPackageDir=C:t;Platform=iPhone;ServerAddress=1.1.1.1;ServerPort=6535;ServerUser=user;ServerPassword=password

作为回应,我收到以下内容:

_SayHello:
Connecting to Mac server 1.1.1.1...
C:Program Files (x86)Microsoft Visual Studio2017CommunityMSBuildXamariniOSXamarin.iOS.Windows.After.targets(63,
5): warning : Ignoring server port when the build is not running inside Visual Studio. [myprojectpathmyproject.csproj]
Starting connection to 1.1.1.1...
C:Program Files (x86)Microsoft Visual Studio2017CommunityMSBuildXamariniOSXamarin.iOS.Windows.After.targets(63,
5): warning : Could not authenticate the user 'user' with the provided credentials [myprojectpathmyproject.csproj]
C:Program Files (x86)Microsoft Visual Studio2017CommunityMSBuildXamariniOSXamarin.iOS.Windows.After.targets(63,
5): warning VSX1000: A connection to the Mac Server couldn't be established with Address='1.1.1.1' and User='user', so only the main assembly was compiled for project 'myproject'. Connect to a Mac Server and try again to build
the full application. [myprojectpathmyproject.csproj]

请参阅以下线程,我相信这会对您有所帮助。

将 xamarin Mac 代理端口配置为 22 以外的端口

我已经标记了这一点,因为我相信它在大多数意义上都是重复的。

跟进 :在您的路由器配置中,您能否:

  1. 暂时将端口映射 22 分配给您的 Mac 并进行测试以确保其正常工作,然后您可以将其设置回来。
  2. 创建一个端口映射,将"路由器外部"(您的 6*** 号码)定向到"mac IP 地址内部端口 22",如果您的路由器与大多数路由器一样,您应该能够将此外部端口分配给端口 22 上的 Mac IP。

如果您对此有疑问,请提供上述路由器配置的屏幕截图,以便我们提供帮助。

问候

编辑:添加了额外信息

最新更新