go语言实现的简单 sftp客户端

本文介绍了如何使用Golang库创建一个简单的SFTP客户端,该客户端能够读取远程文件。内容强调SFTP与FTP协议的区别,并指出代码仅支持passwd认证,而实际中许多SFTP服务器可能需要keyboard-interactive认证。
摘要由CSDN通过智能技术生成
package main

import (
	"flag"
	"fmt"
	"io/ioutil"
	"time"

	"github.com/pkg/sftp"
	"golang.org/x/crypto/ssh"

	_ "github.com/pkg/sftp"
	_ "golang.org/x/crypto/ssh"
	_ "golang.org/x/crypto/ssh/agent"
)

var USER = flag.String("user", "root", "ssh user")
var PASSWD = flag.String("pass", "123456", "ssh passwd")
var HOST = flag.String("host", "localhost", "ssh server ip")
var PORT = flag.Int("port", 22, "ssh port")
var RPATH = flag.String("remotepath", "1.txt", "remote path")

func SftpCreate(user string, passwd string, host string, port int) (*sftp.Client, error) {
	auth := make([]ssh.AuthMethod, 0)
	auth = append(auth, ssh.Password(passwd))
	config := ssh.ClientConfig{
		User:            user,
		Auth:            auth,
		Timeout:         10 *
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值