golang的ssh例子

package main

import (
    "github.com/dynport/gossh"
    "log"
)

func MakeLogger(prefix string) gossh.Writer {
    return func(args ...interface{}) {
        log.Println((append([]interface{}{prefix}, args...))...)
    }
}

func main() {
    client := gossh.New("192.168.1.106", "mmc")
    client.SetPassword("123456")
    client.DebugWriter = MakeLogger("DEBUG")
    client.InfoWriter = MakeLogger("INFO ")
    client.ErrorWriter = MakeLogger("ERROR")

    defer client.Close()
    rsp, e := client.Execute("ls")
    if e != nil {
        client.ErrorWriter(e.Error())
    }else {
        client.InfoWriter(rsp.String())
    }
}
时间: 2024-12-26 20:09:32

golang的ssh例子的相关文章

golang gorilla websocket例子

WebSocket协议是基于TCP的一种新的网络协议.它实现了浏览器与服务器全双工(full-duplex)通信--允许服务器主动发送信息给客户端. WebSocket通信协议于2011年被IETF定为标准RFC 6455,并被RFC7936所补充规范. 在golang语言中,目前有两种比较常用的实现方式:一个是golang自带的库,另一个是gorilla,功能强大. golang自带库的使用例子可参考以前的博文:Golang如何使用websocket 本文以gorilla为例,介绍websoc

golang通过ssh实现远程文件传输

使用ssh远程操作文件, 主要是创建ssh, 直接上代码 import ( "fmt" "github.com/pkg/sftp" "golang.org/x/crypto/ssh" "net" "strconv" "time") func SftpConnect(user, password, host string, port int) (sftpClient *sftp.Clien

golang的分页例子, 使用了beego,ameiziui

//分页方法,根据传递过来的页数,每页数,总数,返回分页的内容 7个页数 前 1,2,3,4,5 后 的格式返回,小于5页返回具体页数 func Paginator(page, prepage int, nums int64) map[string]interface{} { var firstpage int //前一页地址 var lastpage int //后一页地址 //根据nums总数,和prepage每页数量 生成分页总数 totalpages := int(math.Ceil(f

golang生成c-shared so供c语言或者golang调用到例子

1.golang生成c-shared类型到so 建立文件夹hello,创建main.go文件,内容如下 package main import "C" func main() {} //export Hello func Hello() string { return "Hello" } //export Test func Test() { println("export Test") } 生成so脚本文件,命令行: export GOARCH

给终端来点彩色(c语言和Golang版)

如果用过AIX或Linux下的nmon工具的应当会注意到,它可以把文字显示成多种颜色,并巧妙的利用颜色和字符组合出各种图形 来显示系统的运行情况.看看它官网附的这张图: 如果你看过它的源码,你会发现它用的是 Ncurses 库来实现彩色显示的.Ncurses很强大,可以在任何遵循ANSI/POSIX标准的UNIX系统上运行, 包含了一系列强大的功能. 但在这里,它并不是我要研究的对象,它太重量级了. 我想在这说明的是一种简单的可以让终端显示彩色文本的方法.利用16进制的颜色控制符就足以在终端打印

入门SSH整合

首先部署Spring框架 I:需要加入的jar包: Spring核心包 org.springframework.asm-3.1.1.RELEASE.jar org.springframework.beans-3.1.1.RELEASE.jar org.springframework.context-3.1.1.RELEASE.jar org.springframework.core-3.1.1.RELEASE.jar org.springframework.expression-3.1.1.RE

golang 反射解惑

Type和Kind的区别 直接看例子: type Myint int type Person struct { } func main() { var myint Myint= 1 var person Person= Person{} s := 1 var intPtr =&s mySlice := []string{} myMap := map[string]int{} myintType := reflect.TypeOf(myint) personType := reflect.Type

最最实用的30个Linux命令!

本文中将介绍一些实用又常用的Linux或Unix命令,这些是Linux系统管理员们平常使用的命令.本文不是什么完整列表,而是简要地列出了需要时派得上用场的命令,下面开始逐一介绍如何使用这些命令并附有示例. 1.uptime命令 在Linux中,uptime命令显示了你的系统运行了多久以及目前登录的用户有多少,另外还显示了间隔1分钟.5分钟和15分钟的负载平均值. # uptime 08:16:26 up 22 min,  1 user,  load average: 0.00, 0.03, 0.

paramiko模块,线程,进程

关于paramiko模块 paramiko是基于Python实现的ssh2远程安全连接,支持认证及密钥方式远程执行命令.文件传输,中间ssh代理等 paramiko的安装: 安装好之后,用paramiko模块写一个简单的远程ssh运行命令,代码如下: 1 import paramiko 2 ssh = paramiko.SSHClient() 3 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 4 ssh.connect("19