【问题标题】:Issue with SSH.NET UWPSSH.NET UWP 的问题
【发布时间】:2018-01-05 14:30:30
【问题描述】:

我在 UWP 应用中使用 SSh.net 时遇到问题。此应用程序将在 Win10 上运行。 我收到以下错误: An attempt was made to access a socket in a way forbidden by its access permissions。我在网上查了一下,没有人真正处理这个问题。完全相同的代码在标准桌面应用程序 (WPF) 中工作

密钥是密钥字符串,我不得不用 \n 替换 \r,因为 PrivateKeyFile 创建给出了一条错误消息,我将其追踪到放置回车而不是换行(通过文本框)。

key = key.Replace("\r", "\n");
PrivateKeyFile(stringToStream(key));
client = new SshClient(ip, port, username, pkf);
if (!client.IsConnected)
{
    try
    {
        client.Connect();
        connected = true;
    }
    catch (Exception ex)
    {
        exception = ex.Message.ToString();
        connected = false;
    }
}

【问题讨论】:

  • 向我们展示异常调用堆栈和异常类型。 + 您可以使用与您的应用在同一台机器上运行的任何独立 SSH/SFTP 客户端连接到相同的 IP 和端口吗?向我们展示它的日志文件。
  • 我可以连接使用确切的代码,但在标准桌面 (WPF) 应用程序中
  • 该信息应该在问题中。请编辑它。 + 你的 UWP 应用有网络权限吗?
  • 你的 UWP 有网络权限吗? ...我在调试模式下运行它,我不知道该怎么做。我已尝试授予 Visual Studio 网络权限:
  • 我不确定你所说的异常调用堆栈是什么意思,但是,这里是异常堆栈跟踪:at Renci.SshNet.Abstractions.SocketAbstraction.Connect(IPEndPoint remoteEndpoint, TimeSpan connectTimeout) at Renci.SshNet.Session.SocketConnect(String host, Int32 port) at Renci.SshNet.Session.Connect() at Renci.SshNet.BaseClient.Connect() at iMuneFront.SSHConnect.Connect(String ip, Int32 port, String username, String keyToConnect) 和:NativeErrorCode 10013SocketErrorCode Access Denied 非常感谢。

标签: ssh ssh.net


【解决方案1】:

终于解决了这个问题 - 看这里:An attempt was made to access a socket in a way forbidden by its access permissions

转到以下行: 如果您在 Windows 8 开发中遇到同样的错误,可能是因为您没有在 Package.appxmanifest 文件中启用通过专用网络的访问:

如图所示选择专用网络(客户端和服务器)选项。

Click here for the image

【讨论】:

  • 虽然此链接可能有助于您回答问题,但您可以通过获取链接的重要部分并将其放入您的答案来改进此答案,这样可以确保您的答案仍然是一个答案,如果链接被更改或删除:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-05-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-20
  • 1970-01-01
相关资源
最近更新 更多