没有合适的资源?快使用搜索试试~ 我知道了~
前言 之前有一篇介绍如何使用Go语言通过SSH协议来执行远程命令:如何使用Go语言实现远程执行命令 同样,通过SSH协议也可以使用Go语言来远程传输文件。 除了 SSH 的库,为了传输文件,还需要用到 github.com/pkg/sftp 这个库。 实现方式 废话不多说,直接看代码。 由于是基于 SSH 协议实现的远程文件传输,所以先创建 SSH 的连接,再创建传输文件的 sftp 客户端。 func connect(user, password, host string, port int) (*sftp.Client, error) { var ( auth []ssh.A
资源推荐
资源详情
资源评论
使用使用Go语言实现远程传输文件语言实现远程传输文件
前言前言
之前有一篇介绍如何使用Go语言通过SSH协议来执行远程命令:如何使用Go语言实现远程执行命令 同样,通过SSH协议也可
以使用Go语言来远程传输文件。
除了 SSH 的库,为了传输文件,还需要用到 github.com/pkg/sftp 这个库。
实现方式实现方式
废话不多说,直接看代码。 由于是基于 SSH 协议实现的远程文件传输,所以先创建 SSH 的连接,再创建传输文件的 sftp 客
户端。
func connect(user, password, host string, port int) (*sftp.Client, error) {
var (
auth []ssh.AuthMethod
addr string
clientConfig *ssh.ClientConfig
sshClient *ssh.Client
sftpClient *sftp.Client
err error
)
// get auth method
auth = make([]ssh.AuthMethod, 0)
auth = append(auth, ssh.Password(password))
clientConfig = &ssh.ClientConfig{
User: user,
Auth: auth,
Timeout: 30 * time.Second,
}
// connet to ssh
addr = fmt.Sprintf("%s:%d", host, port)
if sshClient, err = ssh.Dial("tcp", addr, clientConfig); err != nil {
return nil, err
}
// create sftp client
if sftpClient, err = sftp.NewClient(sshClient); err != nil {
return nil, err
}
return sftpClient, nil
}
发送文件发送文件
使用上面的 connect 方法创建 sftpClient 后,发送文件很简单。
package main
import (
"fmt"
"log"
"os"
"path"
"time"
"github.com/pkg/sftp"
"golang.org/x/crypto/ssh"
)
func main() {
var (
err error
sftpClient *sftp.Client
资源评论
weixin_38713996
- 粉丝: 7
- 资源: 919
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 【java毕业设计】电影院购票系统源码(springboot+vue+mysql+说明文档+LW).zip
- dabai小程序源码(优秀毕业设计源码 + 运行截图).zip
- django-vue-lyadmin前端采用vue3+elementplus,后端采用Python Django DRF的一套前后端分离的低代码快速后台开发平台(专业版带有代码生成和表单构建器)
- 【java毕业设计】宠物商城网站设计与实现源码(springboot+vue+mysql+说明文档+LW).zip
- 基于数据安全的某电商平台店铺销售数据的分析与实现Vue+Java.zip
- SpringBoot项目连接多源MySQL数据库 - 数据开发猿
- java职称评审系统源码数据库 MySQL源码类型 WebForm
- S2024052基于springboot+vue的新能源汽车信息咨询服务平台-snu6t.zip
- 【java毕业设计】车辆管理系统源码(springboot+vue+mysql+说明文档+LW).zip
- springboot框架下基于Java Web的新能源汽车信息咨询系统设计与实现
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功