我正在尝试在 C# 代码中使用 SSH.NET 通过 SSH 访问数据库。我生成一个 RSA 密钥对并将私钥放在 UNC 共享驱动器上。路径名字符串如下所示。当我开始尝试连接的代码时,我收到“找不到路径的一部分”错误。
string privatekeypathname = @"\\server\My path\private_key.ppk";
我认为使用 UNC 路径是问题所在。有没有办法解决这个问题?谢谢。
编辑:我尝试使用映射驱动器。同样的错误。我的代码如下所示:
PrivateKeyFile key = new PrivateKeyFile(privatekeypathname, MyPassPhrase);
ConnectionInfo connectionInfo = new ConnectionInfo(
MySSHHost,
MySSHPort,
MySSHUser,
new PrivateKeyAuthenticationMethod(MySSHUser, key));
sshClient = new SshClient(connectionInfo);
sshClient.Connect();
注意:我尝试了一个看起来像这样的路径名:@"C:\my folder\private_key.ppk"
并且它有效,所以显然字符串中的空格不是问题。此外,虽然我认为权限不是问题,但我尝试以管理员身份运行代码并得到同样的错误。我可以使用 Windows 资源管理器手动访问共享驱动器。我不知道我还能尝试验证这一点。