- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试使用 C# 创建 SSH 客户端。我正在使用 Tamir.SharpSsh 库。我在发送命令和从服务器获得适当响应时遇到问题。
我一直在测试它的方法是发送 ls
命令,然后是 cd..
命令,然后是 ls
命令再次 -- 查看 cd..
命令是否正确执行。但是,第一个 ls
命令和第二个 ls
命令之间没有区别。我不完全确定我做错了什么。也许我使用了错误的 Ssh 类型。我已经提供了代码和我得到的输出。我还添加了我期望的输出。
using Tamir.SharpSsh;
namespace SSHNetExample
{
class Program
{
static void Main(string[] args)
{
SshExec ssh = null;
try
{
Console.Write("-Connecting...");
ssh = new SshExec(host, username, password);
ssh.Connect();
Console.WriteLine("OK ({0}/{1})", ssh.Cipher, ssh.Mac);
Console.WriteLine("Server version={0}, Client version={1}", ssh.ServerVersion, ssh.ClientVersion);
Console.WriteLine("-Use the 'exit' command to disconnect.");
Console.WriteLine();
while(true)
{
string command = Console.ReadLine();
if(command == "exit")
break;
string data = ssh.RunCommand(command);
Console.WriteLine(data);
}
}
catch(Exception e)
{
Console.WriteLine(e.Message);
}
if(ssh != null)
{
Console.WriteLine("Disconnecting...");
ssh.Close();
Console.WriteLine("OK");
}
}
}
}
输出:
预期输出:
最佳答案
SshExec 类用于执行单个命令。它为每个命令登录到服务器,并执行您要求它执行的命令。这与您登录时类似(但不相同),键入 cd ..
,再次注销,再次登录并键入 ls
- 当您第二次登录时您被重定向到主目录。
如果你想继续使用 SshExec,你应该组合你的命令,这样你就可以只执行一个命令。例如,在这种情况下,您将执行 ls ..
。
如果您希望能够像交互式 session 一样发出多个命令,请查看 SshShell
类而不是 SshExec
。
关于c# - SharpSsh 命令执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29395200/
我正在尝试使用 C# 创建 SSH 客户端。我正在使用 Tamir.SharpSsh 库。我在发送命令和从服务器获得适当响应时遇到问题。 我一直在测试它的方法是发送 ls 命令,然后是 cd.. 命令
我有 6 个文件要从 Windows 复制到 Linux:input.dat、image1.tif、image2.tif、image3.tif、image4.tif、image5.tif 我正在使用
我正在编写一个允许我从远程服务器上传和下载文件的应用程序。我使用 sftp 作为我的传输协议(protocol),我需要将所有文件和目录列出到 ListView 中。我正在为 sftp 使用 shar
我使用 SharpSSH 连接到 stfp 服务器。 这是因为我需要像这样添加一个私钥文件: sftp.AddIdentityFile(KeyFilePath); 但这会引发异常: invaid pr
我正在尝试使用 SharpSSH 从远程 SFTP 服务器获取文件,并且我想将其作为流读取。 我发现: 类(class) Sftp ,其中有 Get将其保存到本地文件的方法 -- 关闭 类(class
我将 SharpSSH .NET 库用于 SFTP。 http://www.tamirgal.com/blog/page/sharpssh.aspx 当我尝试连接服务器时出现错误 Algorithm
我正在将 SharpSSH 集成到现有的 .NET 2.0 项目中。所以不能切换到http://sshnet.codeplex.com/或其他更新的图书馆... 我拥有与设备的单一连接的所有功能,并且
我正在尝试使用 C# 类连接到 Solaris/Unix 服务器以读取系统信息/配置、内存使用情况等。 我的要求是从 C# 应用程序在服务器上运行命令(就像我们使用 PuTTY 客户端)并将响应存储在
我有一个小型 C# 应用程序,它使用 SharpSSH 库来简单地使用 SFTP 上传文件。现在,我的客户想要使用相同的程序通过 SSH/SFTP 连接到另一台服务器,但由于某种原因,该服务器是使用“
我正在使用 Tmir.SharpSsh - SshExec 方法将一些命令发送到远程 SSH 服务器。 问题是这个方法或它创建的某个线程将输出发送到我的控制台窗口(“Sha1”)。 我想问问是否有人知
我正在考虑使用 JSch 库(或者实际上是它的 sharpSSH C# 端口)为 SFTP 设置公钥客户端和服务器身份验证。不幸的是,我找不到任何关于关键加载函数使用的文件格式的文档: jsch.ad
private void OVConnection() { try { //Create a new JSch instance JSch jsch = new
我正在使用 SharpSSH 将一个 zip 文件从本地目录上传到 SFTP。一切正常。但是,我想获取我刚刚上传的当前文件的文件大小。我这样做的原因是 zip 文件很大(从 45 GB 到 80 GB
需要使用 Tamir.SharpSsh.Sftp 将文件从一个文件夹移动到另一个文件夹。 Tamir.SharpSsh.Sftp client = new Tamir.SharpSsh.Sft
我想使用 SharpSSH 将文件上传到 SFTP 服务器。 我得到了 SharpSSH.dll、要上传的文件、一个公钥,然后我将私钥发送到服务器。他们给了我一个用户名,不需要密码。 我试过这个: S
大家下午好 我在使用 .Net 的 SharpSSH 库时遇到了一个小问题(参见 http://www.tamirgal.com/blog/page/SharpSSH.aspx) Ss
我正在使用 SharpSSH (http://www.tamirgal.com/blog/page/SharpSSH.aspx) 将文件上传到某个 sftp 服务器。这很好用。现在我想下载一个文件,我
好的,这就是我要做的 我必须设置一个到 Linux 机器的 SSH session 并发出像“ls”或 cp 这样的命令。 这是片段 SshStream ssh = new
如何使用 Tamir Gal 的 SharpSSH 从 SFTP 服务器删除文件?我已经能够完成除删除之外的其他功能。 最佳答案 SshExec 类对我不起作用,但一点反射魔法起作用了: var pr
每当我尝试复制一个大于 2GB 的文件时,我在 Get 方法中得到一个数组索引越界异常: Scp myScp = new Scp("remotehost", "joe", "mypassword");
我是一名优秀的程序员,十分优秀!