модуль sshd pam застрял в запросе http - PullRequest
0 голосов
/ 06 ноября 2019

Приложение от 11.06.2009 18: 04

Я считаю, что при работе с SSH Keyboard Interactive не удалось правильно запустить программу.

Я пытаюсь использовать go panic("") или go log("sth"), оба они не работают, и я обнаружил, что HTTP-клиент застревает в

файле: transport.go

функция: func(t *Transport) queueForDial(w *wantConn)

first: go t.dialConnFor(w)


Система: Ubuntu 18.04 LTS x86_64 на proxmox vm

Я написал модуль pam, который будет выполнять аутентификацию через HTTP-сервер в Go, однако, когда он пытается выполнить HTTP-запрос, он застревает.

Я могу обычным образом свернуть URL-адрес

curl:

curl 127.0.0.1:8020/log -v
*   Trying 127.0.0.1...
* TCP_NODELAY set
* Connected to 127.0.0.1 (127.0.0.1) port 8020 (#0)
> GET /log HTTP/1.1
> Host: 127.0.0.1:8020
> User-Agent: curl/7.58.0
> Accept: */*
> 
< HTTP/1.1 200 OK
< Date: Wed, 06 Nov 2019 05:38:09 GMT
< Content-Length: 47
< Content-Type: text/plain; charset=utf-8
< Connection: close
< 
* Closing connection 0

код:

    url := fmt.Sprintf("%s/account/auth", "http://127.0.0.1:8020")
    client := newHTTPClient(map[string]string{
        "timeout": "3",
    })

    // Debug Http
    go log.Debug("--test--goroutine--")
    // panic("")

    // Send auth request
    log.Debug("send auth request")
    resp, err := client.Post(url, "application/json", bytes.NewBuffer(reqString))
    log.Debug("auth request sent")
    if err != nil {
        return false, err
    }

    defer resp.Body.Close()

    // Decode response
    log.Debug("decode auth response")

файл журнала:

{"level":"debug","msg":"create auth request","project":"x","time":"2019-11-06T12:05:11+00:00"}
{"level":"debug","msg":"send auth request","project":"x","time":"2019-11-06T11:56:54+00:00"}

и тогда нет лога

...