要通过SSH获取Linux系统指定目录的文件列表,可以使用golang的ssh库来实现。以下是一个简单的示例代码:

package main

import (
	"fmt"
	"golang.org/x/crypto/ssh"
	"log"
)

func main() {
	// SSH连接配置
	config := &ssh.ClientConfig{
		User: "<username>",
		Auth: []ssh.AuthMethod{
			ssh.Password("<password>"),
		},
		HostKeyCallback: ssh.InsecureIgnoreHostKey(),
	}

	// SSH连接
	conn, err := ssh.Dial("tcp", "<hostname>:<port>", config)
	if err != nil {
		log.Fatalf("Failed to connect to SSH server: %v", err)
	}
	defer conn.Close()

	// 执行指令
	session, err := conn.NewSession()
	if err != nil {
		log.Fatalf("Failed to create SSH session: %v", err)
	}
	defer session.Close()

	// 指定要列出文件的目录
	dir := "/path/to/directory"

	// 执行ls命令获取文件列表
	output, err := session.Output(fmt.Sprintf("ls %s", dir))
	if err != nil {
		log.Fatalf("Failed to run command: %v", err)
	}

	// 输出文件列表
	fmt.Println(string(output))
}

请注意,这只是一个简单的示例代码,需要根据你的实际情况进行相应的修改。你需要替换<username><password><hostname><port>/path/to/directory为你的实际值。另外,你可能需要根据你的SSH服务器配置来设置其他选项,如密钥认证等

golang 通过ssh 获取linux系统指定目录文件列表

原文地址: https://www.cveoy.top/t/topic/i0zP 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录