Носки с динамическим туннелем Golang SSH5
Я пытаюсь использовать ssh для динамической переадресации портов на socks5, используя библиотеку golang.org/x/crypto/ssh.
Я хочу быть как библиотека: https://www.example-code.com/golang/sshTunnel_dpf.asp
Пример: Подключиться к SSH -> Создать Socks5 -> Отправить HTTP-запрос -> Получить тело -> Закрыть Socks -> Закрыть соединение SSH .
Но когда я подключаюсь к ssh, как я могу использовать этот ssh-клиент для запроса?
Я думаю использовать с подключением по телефонной линии (golang.org/x/net/proxy), но я не могу этого сделать.
Каждый может мне помочь?
Вот мой код для подключения ssh:
func Connect(mSSH Models.SSH) ssh.Conn {
sshConfig := &ssh.ClientConfig{
Timeout: time.Second * 5,
User: mSSH.Username,
Auth: []ssh.AuthMethod{
ssh.Password(mSSH.Password),
},
HostKeyCallback: ssh.HostKeyCallback(func(hostname string, remote net.Addr, key ssh.PublicKey) error { return nil }),
}
conn, err := ssh.Dial("tcp", mSSH.Ip+":"+mSSH.Port, sshConfig)
if err != nil {
return nil
}
return conn
}