返回顶部
首页 > 资讯 > 服务器 >怎么在golang中利用ssh连接服务器
  • 742
分享到

怎么在golang中利用ssh连接服务器

2023-06-15 04:06:23 742人浏览 独家记忆
摘要

这篇文章将为大家详细讲解有关怎么在golang中利用ssh连接服务器,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。 发送指令执行 session.Run()package main

这篇文章将为大家详细讲解有关怎么在golang中利用ssh连接服务器,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

发送指令执行 session.Run()

package mainimport (    "bytes"    "fmt"    "Golang.org/x/crypto/ssh"    "log")func main() {    // 建立SSH客户端连接    client, err := ssh.Dial("tcp", "127.0.0.1:2222", &ssh.ClientConfig{        User:            "root",        Auth:            []ssh.AuthMethod{ssh.Password("123456")},        HosTKEyCallback: ssh.InsecureIgnoreHostKey(),    })    if err != nil {        log.Fatalf("SSH dial error: %s", err.Error())    }    // 建立新会话    session, err := client.NewSession()    if err != nil {        log.Fatalf("new session error: %s", err.Error())    }    defer session.Close()    var b bytes.Buffer    session.Stdout = &b    if err := session.Run("ls"); err != nil {        panic("Failed to run: " + err.Error())    }    fmt.Println(b.String())}

发送指令执行 session.Output()

session.run(command)是直接在host执行命令,不关心执行结果。session.Output是将执行命令之后的Stdout返回

package mainimport (    "fmt"    "golang.org/x/crypto/ssh"    "log"    "os")func test() {    // 建立SSH客户端连接    client, err := ssh.Dial("tcp", "127.0.0.1:2222", &ssh.ClientConfig{        User:            "root",        Auth:            []ssh.AuthMethod{ssh.Password("123456")},        HostKeyCallback: ssh.InsecureIgnoreHostKey(),    })    if err != nil {        log.Fatalf("SSH dial error: %s", err.Error())    }    // 建立新会话    session, err := client.NewSession()    defer session.Close()    if err != nil {        log.Fatalf("new session error: %s", err.Error())    }    result, err := session.Output("ls -al")    if err != nil {        fmt.Fprintf(os.Stdout, "Failed to run command, Err:%s", err.Error())        os.Exit(0)    }    fmt.Println(string(result))}

模拟交互terminal

package mainimport (    "golang.org/x/crypto/ssh"    "log"    "os")func main() {    // 建立SSH客户端连接    client, err := ssh.Dial("tcp", "127.0.0.1:2222", &ssh.ClientConfig{        User:            "root",        Auth:            []ssh.AuthMethod{ssh.Password("123456")},        HostKeyCallback: ssh.InsecureIgnoreHostKey(),    })    if err != nil {        log.Fatalf("SSH dial error: %s", err.Error())    }    // 建立新会话    session, err := client.NewSession()    defer session.Close()    if err != nil {        log.Fatalf("new session error: %s", err.Error())    }    session.Stdout = os.Stdout // 会话输出关联到系统标准输出设备    session.Stderr = os.Stderr // 会话错误输出关联到系统标准错误输出设备    session.Stdin = os.Stdin   // 会话输入关联到系统标准输入设备    modes := ssh.TerminalModes{        ssh.ECHO:          0,  // 禁用回显(0禁用,1启动)        ssh.TTY_OP_ISPEED: 14400, // input speed = 14.4kbaud        ssh.TTY_OP_OSPEED: 14400, //output speed = 14.4kbaud    }    if err = session.RequestPty("linux", 32, 160, modes); err != nil {        log.Fatalf("request pty error: %s", err.Error())    }    if err = session.shell(); err != nil {        log.Fatalf("start shell error: %s", err.Error())    }    if err = session.Wait(); err != nil {        log.Fatalf("return error: %s", err.Error())    }}

禁用回显:

//如果不禁用回显[root@65a9c031a770 ~]# lslsanaconda-ks.cfg//禁用回显[root@65a9c031a770 ~]# lsanaconda-ks.cfg

什么是golang

golang 是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言,其语法与 C语言相近,但并不包括如枚举、异常处理、继承、泛型、断言、虚函数等功能。

关于怎么在golang中利用ssh连接服务器就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: 怎么在golang中利用ssh连接服务器

本文链接: https://lsjlt.com/news/277713.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 怎么在golang中利用ssh连接服务器
    这篇文章将为大家详细讲解有关怎么在golang中利用ssh连接服务器,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。 发送指令执行 session.Run()package main...
    99+
    2023-06-15
  • 怎么在python中利用TCP连接服务器
    本篇文章给大家分享的是有关怎么在python中利用TCP连接服务器,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。python主要应用领域有哪些1、云计算,典型应用OpenSta...
    99+
    2023-06-14
  • 怎么使用Golang实现SSH连接
    本篇内容主要讲解“怎么使用Golang实现SSH连接”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用Golang实现SSH连接”吧!安装Go语言首先,您需要安装最新版本的Golang。建议...
    99+
    2023-07-06
  • ubuntu中怎么利用ssh连接远程电脑
    ubuntu中怎么利用ssh连接远程电脑,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。ssh客户端及服务端的安装十分简单,打开终端后,只需要两个命令即可:代码如下:sudo a...
    99+
    2023-06-13
  • 阿里云服务器怎么连接ssh
    阿里云服务器可以通过 SSH(安全套接字层)连接到 AWS S3。 使用 SSH 连接需要在安装阿里云服务器软件(阿里云版)或者使用云服务器提供商提供的 SSH 连接工具,例如 GitHub 或 Redshift。请确保您正在运行的是最新...
    99+
    2023-10-26
    阿里 服务器 ssh
  • 在外SSH远程连接macOS服务器
    文章目录 前言1. macOS打开远程登录2. 局域网内测试ssh远程3. 公网ssh远程连接macOS3.1 macOS安装配置cpolar3.2 获取ssh隧道公网地址3.3 测试公网ssh远程连接macOS 4. 配置公网...
    99+
    2023-08-24
    ssh macos 服务器
  • Go语言利用ssh连接服务器的方法步骤
    学习了Go语言后,打算利用最近比较空一点,写一个前端部署工具,不需要每次都复制粘贴的麻烦,需要完成部署的第一步就需要连接远程服务器 打开 ssh server 首先我们想要利用...
    99+
    2022-06-07
    服务器 GO 方法 ssh go语言
  • 怎么用SSH远程连接Linux美国服务器
    使用SSH远程连接Linux美国服务器的方法:1、打开Putty软件;2、填写美国服务器地址和端口号等配置信息;3、在弹出的对话框中点击确认按钮;4、输入主机用户名和密码连接即可。首先,我们选用打开 Putty 软件,设置信息如下:在Hos...
    99+
    2024-04-02
  • 如何用ssh连接云服务器
    用ssh连接云服务器的操作方法:借助SSH安全Shell客户端连接。安装SSH Secure Shell Client并打开SSH客户端。点击界面左上角的电脑标志。在弹出的对话框中输入服务器的IP地址和账号。再点击右边的“connect”按...
    99+
    2024-04-02
  • ssh远程连接服务器
    文章目录 第三章 远程连接服务器1.1 远程连接服务器简介1.2 连接加密技术简介1.3 ssh远程连接服务简介1.4 sftp用法介绍1.5 实验 作业:第一题:两台机器:第一台机器作为客户端,第二台机器作为服务器,在第一台...
    99+
    2023-08-19
    服务器 ssh 网络
  • 亚马逊云新服务器怎么连接ssh
    连接亚马逊云新服务器的 SSH,需要以下步骤: 登录到您的 AWS 管理控制台,选择 EC2 服务。 在 EC2 控制台中,选择您要连接的实例。 点击“连接”按钮,选择“SSH 客户端”。 根据您的操作系统,选择适当的 SSH 客户端。...
    99+
    2023-10-27
    亚马逊 服务器 ssh
  • 如何在Python中利用paramiko远程连接服务器
    本篇文章为大家展示了如何在Python中利用paramiko远程连接服务器,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Python主要用来做什么Python主要应用于:1、Web开发;2、数据科学...
    99+
    2023-06-06
  • ssh如何连接docker服务器
    这篇文章主要讲解了“ssh如何连接docker服务器”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“ssh如何连接docker服务器”吧!主要说一下怎么创建一个docker服务,让别人可以通过...
    99+
    2023-06-27
  • 阿里云服务器ssh连接
    阿里云服务器SSH连接需要以下步骤: 打开阿里云网站:https://ssh.aliyun.com/ 进入到主界面:https://www.aliyun.com/sshconfig/ 找到“https”选项卡,单击进入 选择 "Alia...
    99+
    2023-10-26
    阿里 服务器 ssh
  • Linux—ssh远程连接服务器
    一、SSH介绍 1.1 远程连接服务器 1.条件: 基于C/S架构 Server —openssh-server包 Client —xshell 2.远程连接服务器的功能: 分享主机的运算能力 服务器...
    99+
    2023-10-26
    服务器 linux ssh
  • 云服务器ssh连接错误
    在连接云服务器时,用户需要提供有效的用户名和密码才能成功连接到服务器。如果用户提供的用户名和密码错误,则连接可能会失败。因此,在使用云服务器时,必须保证用户提供的密码是正确的,并且能够通过其他方式进行验证。 另外,为了防止黑客攻击,云服务...
    99+
    2023-10-28
    错误 服务器 ssh
  • 云服务器ssh连接不上
    首先,要确保云服务器的安全性。在使用云服务器之前,用户需要进行安全漏洞测试,确保云服务器可以识别和防止任何安全漏洞。用户还应该设置强密码和加密密码,以防止黑客攻击和数据泄露。 其次,要确保云服务器的可用性。如果云服务器出现连接问题,用户可...
    99+
    2023-10-27
    连接不上 服务器 ssh
  • 阿里云服务器 SSH 连接
    本文将介绍如何使用 SSH 连接到阿里云服务器,包括连接前的准备工作、配置 SSH 服务器以及连接步骤。SSH是一种安全的远程登录协议,它允许用户通过加密的方式远程访问服务器。 步骤一:准备SSH客户端工具首先,你需要下载并安装一个 SSH...
    99+
    2024-01-20
    阿里 服务器 SSH
  • 怎么在php中使用Swoole连接服务器
    怎么在php中使用Swoole连接服务器?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。php有什么特点1、执行速度快。2、具有很好的开放性和可扩展性。3、PHP...
    99+
    2023-06-14
  • 在Ubuntu 19.10中怎么利用mongoose连接mongoDB
    本篇文章为大家展示了在Ubuntu 19.10中怎么利用mongoose连接mongoDB,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Mongoose是一个建立在MongoDB驱动之上的ODM(对...
    99+
    2023-06-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作