【发布时间】: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非常感谢。