26 lines
551 B
Go
26 lines
551 B
Go
package resource
|
|
|
|
import (
|
|
"Crimson-Gatekeeper/internal/utils"
|
|
"strconv"
|
|
|
|
"golang.org/x/crypto/ssh"
|
|
)
|
|
|
|
func getSshEnv(name string) *ssh.Client {
|
|
sshCfg := cfg.server.sshPoint[name]
|
|
if sshCfg == nil {
|
|
return nil
|
|
}
|
|
clientCfg := &ssh.ClientConfig{
|
|
User: sshCfg.user,
|
|
Auth: []ssh.AuthMethod{
|
|
ssh.Password(sshCfg.passwd),
|
|
},
|
|
HostKeyCallback: ssh.InsecureIgnoreHostKey(),
|
|
}
|
|
client, err := ssh.Dial("tcp", sshCfg.host+strconv.Itoa(sshCfg.port), clientCfg)
|
|
utils.PaincEro(err, "建立 SSH 隧道失败,程序中止")
|
|
return client
|
|
}
|