Some checks failed
Docker Build and Push / build-and-push (push) Has been cancelled
38 lines
760 B
Go
38 lines
760 B
Go
package main
|
|
|
|
import (
|
|
"log"
|
|
"os"
|
|
"tunnel_pls/server"
|
|
"tunnel_pls/utils"
|
|
|
|
"golang.org/x/crypto/ssh"
|
|
)
|
|
|
|
func main() {
|
|
sshConfig := &ssh.ServerConfig{
|
|
NoClientAuth: true,
|
|
ServerVersion: "SSH-2.0-TunnlPls-1.0",
|
|
PasswordCallback: func(conn ssh.ConnMetadata, password []byte) (*ssh.Permissions, error) {
|
|
return nil, nil
|
|
},
|
|
}
|
|
|
|
log.SetOutput(os.Stdout)
|
|
log.SetFlags(log.LstdFlags | log.Lshortfile)
|
|
|
|
privateBytes, err := os.ReadFile(utils.Getenv("ssh_private_key"))
|
|
if err != nil {
|
|
log.Fatalf("Failed to load private key : %s", err.Error())
|
|
}
|
|
|
|
private, err := ssh.ParsePrivateKey(privateBytes)
|
|
if err != nil {
|
|
log.Fatal("Failed to parse private key")
|
|
}
|
|
|
|
sshConfig.AddHostKey(private)
|
|
app := server.NewServer(*sshConfig)
|
|
app.Start()
|
|
}
|