如何解决在VB6中使用Chilkat进行SSH;但也许一般
我已经编写了SSH应用程序,但是最初使用的库已不再开发,并且具有旧的加密方法。因此,它不适用于现代设备。我正在寻找替代品,但我找到了奇尔卡特。
我能够开始连接到设备(例如Cisco交换机),但是通信行为却很奇怪。
我的程序的基本原理基于通话客户端(我的程序)和服务器(Cisco交换机)。登录完成后,我得到提示,说我将通过命令enable进入特权模式。在提示的结尾处,我会通过符号>来满足此需求。我发送命令启用并等待提示符密码:收到密码后,我将发送密码。我这次使用两个组件和计时器:
success = ssh.ChannelSendString(channelNum,commandToSend & Chr(13),"ansi")
和
auxStr = ssh.GetReceivedText(channelNum,"ansi")
当我收到密码一词时:在接收文本时,我像commandToSend一样发送密码字符串
但是我得到%访问被拒绝
我非常确定密码可以确定;似乎是通过连接发送了一个额外的回车,因为在下一个返回的文本中是此消息:
正在翻译“ passwordString” ...域服务器(255.255.255.255)
它表示在消息后已将passwordString发送到交换机 % 拒绝访问 不像“密码:”提示的答案。
我在代码中进行了调试,以查看程序要发送的内容以进行切换,但是一切似乎都是正确的。可能在chilkat组件中出现了一些错误?
有人有类似的经历吗?或对此行为做出解释并建议如何解决?
解决方法
发送“ enable”命令(或仅发送“ ena”),然后发送单个CHR(13)。然后从SSH服务器获取输出,该输出应为“ Password:”提示。然后发送密码,然后发送CHR(13)。然后获取输出。发送以单个CHR(13)终止的每个命令,并在每个命令之后获取输出。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。