• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
harryzwh
博客园    首页    新随笔    联系   管理    订阅  订阅
Openwrt的自动化配置
c#实现SSH修改Openwrt路由器配置

Openwrt的luci给用户带来了易用的图形化界面,然而Openwrt终归是Linux,命令行依旧是无法抛弃的。

命令行高效,强大,但不够人性化。于是乎,把一些简单常用的功能用c#写了个小程序,一键完成。

以修改一个宽带账号密码为例,首先还是模拟登录SSH。这里用到了SharpSSH这个开源的组件

项目的主页在此http://www.tamirgal.com/blog/page/sharpssh.aspx

里面也有源码下载。下载源码编译一下,得到dll文件,这源码就先放一边了

新建一个c#工程。既然要用SharpSSH,添加引用是必须的,代码自然也要引用相应的命名空间

using Tamir.SharpSsh;

连接很简单,基本设置好地址,用户名,密码就可以了

string IP = "192.168.1.1";
string Username = "Usr";
string Password = "Pwd";
SshStream ssh = new SshStream(IP, Username, Password);
ssh.Prompt = "#";
ssh.RemoveTerminalEmulationCharacters = true;
ssh.Write("uci set network.vwan"+Number+".username=" + Account);
ssh.Flush();
ssh.Write("uci set network.vwan"+Number+".password=" + Account_Pwd);
ssh.Flush();
ssh.Write("uci commit network");
ssh.Flush();
ssh.Write("ifup vwan"+Number);
ssh.Flush();

这里没有读取输出,一键操作嘛,输出不看也罢,测试过没问题就OK了~

以上程序完成的就是简单修改宽带账号密码,保存配置,然后重新拨号的过程。

 

posted on 2015-02-10 00:26  harryzwh  阅读(1543)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3