golang 通过ssh 获取linux系统指定目录文件列表
要通过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服务器配置来设置其他选项,如密钥认证等
原文地址: https://www.cveoy.top/t/topic/i0zP 著作权归作者所有。请勿转载和采集!