diff options
-rw-r--r-- | .dockerignore | 3 | ||||
-rw-r--r-- | Dockerfile | 3 | ||||
-rw-r--r-- | main.go | 5 |
3 files changed, 9 insertions, 2 deletions
diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..da1f65e --- /dev/null +++ b/.dockerignore @@ -0,0 +1,3 @@ +s3_cache +.git +bagage @@ -2,7 +2,8 @@ FROM golang:1.17.0-alpine3.14 as builder ENV CGO_ENABLED=0 GOOS=linux GOARCH=amd64 RUN apk update && apk add --no-cache ca-certificates && update-ca-certificates WORKDIR /opt -COPY *.go go.mod go.sum /opt/ +COPY . /opt/ +RUN ls /opt/ RUN go build . FROM scratch @@ -97,6 +97,7 @@ func handleSSHConn(nConn net.Conn, dconfig *Config, config *ssh.ServerConfig) { serverConn, chans, reqs, err := ssh.NewServerConn(nConn, config) if err != nil { log.Printf("failed to handshake: ", err) + return } defer serverConn.Conn.Close() user := serverConn.Conn.User() @@ -120,6 +121,7 @@ func handleSSHConn(nConn net.Conn, dconfig *Config, config *ssh.ServerConfig) { channel, requests, err := newChannel.Accept() if err != nil { log.Print("could not accept channel.", err) + return } log.Printf("Channel accepted\n") @@ -155,7 +157,8 @@ func handleSSHConn(nConn net.Conn, dconfig *Config, config *ssh.ServerConfig) { server, err := sftp.NewServer(ctx, channel, &fs) if err != nil { - log.Fatal(err) + log.Println(err) + return } if err := server.Serve(); err == io.EOF { |