首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SSH.NET密码未执行

SSH.NET密码未执行
EN

Stack Overflow用户
提问于 2014-03-17 01:04:28
回答 1查看 2.2K关注 0票数 1

我似乎不能让这个图书馆工作。我正在做一些很简单的事情,但我还是做不到。

代码语言:javascript
复制
            client.Connect();
            client.RunCommand("sudo passwd test");
            Thread.Sleep(1000);
            client.RunCommand("testtest");
            Thread.Sleep(1000);
            client.RunCommand("12345");
            Thread.Sleep(1000);
            client.RunCommand("12345");
            bool primera = true;
            client.Disconnect();

如果我尝试使用刚才发布的凭据登录测试,它就失败了。但是,如果我通过我的终端通过普通SSH执行相同的命令,我就可以登录。为什么SSH.NET不执行这些命令?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-17 03:31:43

问题在于,在运行client.RunCommand("sudo passwd test");之后,程序正在运行,等待输入。直到程序返回之后,RunCommand方法才会实际运行该命令。

我在尝试运行su - <login>时遇到了同样的问题,并找到了以下解决方法.

代码语言:javascript
复制
Shell = Client.CreateShellStream("xterm", 80, 24, 800, 600, 1024);

Reader = new StreamReader(Shell);
Writer = new StreamWriter(Shell);

Writer.AutoFlush = true;

Writer.Write("su - " + login2 + "\n");

while (true)
{
    var output = Reader.ReadLine();

    if (output.EndsWith("Password: "))
    {
        break;
    }
}

Writer.Write(password2 + "\n");
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22445316

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档