【发布时间】:2013-03-27 20:18:42
【问题描述】:
我正在尝试使用C# 类连接到Solaris/Unix 服务器以读取系统信息/配置、内存使用情况等。
我的要求是从 C# 应用程序在服务器上运行命令(就像我们使用 PuTTY 客户端所做的那样)并将响应存储在 string 变量中以供以后处理。
经过一番研究,我发现 SharpSSH 库也可以用来做同样的事情。
当我尝试运行我的代码时,以下行给了我一个 Auth Fail 异常。
我确信凭据(服务器名称、用户名和密码)是正确的,因为我可以使用相同的凭据从 PuTTY 客户端登录。
SshStream ssh = new SshStream(servername, username, password);
我做错了什么?
如果有帮助,以下是堆栈跟踪!
at Tamir.SharpSsh.jsch.Session.connect(Int32 connectTimeout)
at Tamir.SharpSsh.jsch.Session.connect()
at Tamir.SharpSsh.SshStream..ctor(String host, String username, String password)
【问题讨论】:
-
服务器端日志中的任何内容?
-
@JoachimIsaksson 遗憾的是,我不习惯 UNIX 服务器,也不是管理员。我被要求编写一个程序来收集这些信息。
-
还有什么需要提供的,以便您可以与服务器建立
SSH连接(我听说过一些关于公钥/私钥的信息。我认为这是针对 SCP 的)?跨度> -
SharpSSH 不是最新的和最新的服务器,因此可能会出现问题。还有更多可行的替代方案,包括免费的和商业的。
-
@EugeneMayevski'EldoSCorp 你能提出替代方案吗?
标签: c# .net ssh putty sharpssh