Я пытаюсь подключиться к удаленному серверу с помощью Golang SSH package, но между моей рабочей станцией и этим удаленным сервером есть SOCKS.
Я могу подключиться к серверу, просто установив LD_PRELOAD и LD_LIBRARY_PATH, а затем запустив:
$ export LD_PRELOAD="/path/to/lib"
$ export LD_LIBRARY_PATH="/path/to/lib"
$ ssh user@hostname
Но когда я устанавливаю эти переменные в коде Go, это не работает:
os.Setenv("LD_PRELOAD", "/path/to/file")
os.Setenv("LD_LIBRARY_PATH", "/path/to/file")
Если я установлю эти переменные в коде Go и попробую следующее, все заработает:
ssh := exec.Command("ssh", "hostname")
output, _ := ssh.Output()
fmt.Println(string(output))
Для ssh PermitUserEnvironment установлено значение yes
Есть ли способ «заставить» Golang SSH использовать эти переменные среды?