c# - 具有永久ShellExec连接的SharpSSH

我正在使用SharpSSH连接到SSH服务器,并且尝试使用SshShell和SshExec。
我需要能够接受一系列命令并将它们按顺序发送到服务器,因此SshShell并不能真正满足我的需要,因为我不得不一直纠缠流,而且似乎有点麻烦忽悠。因此,我尝试了SshExec,但发现了一个问题,每次发送命令时,它似乎都建立了新的连接,并且丢失了最后一条命令的上下文。例如,如果我运行以下命令:

pwd
cd .ssh
pwd

我希望它能输出
/home/adam

/home/adam/.ssh

但是,相反,它两次都只输出“/ home / adam”,这意味着在两次更改之间丢失了目录更改。

有没有一种方法可以配置它,使其保持与SSH服务器的恒定连接,直到我告诉它断开连接?

最佳答案

做这个:

exec.RunCommand("pwd; cd Desktop; pwd")

我不确定如何执行高级命令,但是我尝试了它,并输出:
/Users/MyUser
/Users/MyUser/Desktop

https://stackoverflow.com/questions/3141570/

相关文章:

ubuntu - ssh 不会在 ubuntu 10.04 64bit 中自动启动

git - Git推送错误:ssh:无法解析主机名domain.com [:7555]:提供了节点名

svn - KDESvn 'Add ssh-identities to ssh-agent' 不起作

grails - Groovy/Grails无法仅在运行时解析类

bash - 通过ssh登录时自动运行脚本

php - 从php运行shell脚本

grails - 如何在 Grails 中对存储过程记录进行建模?

grails - 从过滤器访问 'session'

ssh - 如何在远程服务器上运行CPU Hogging程序?

grails - Grails 3数据库迁移问题