Files
sshchat/main.go
2025-10-14 05:38:07 +09:00

51 lines
795 B
Go

package main
import (
"io"
"log"
"os"
"sshchat/utils"
"github.com/gliderlabs/ssh"
"github.com/joho/godotenv"
)
func main() {
err := godotenv.Load()
if err != nil {
log.Fatal("Error loading .env file")
}
port := os.Getenv("PORT")
keys, err := utils.CheckHostKey()
if err != nil {
log.Print("Failed to check SSH keys: generate one.\n", err)
err = utils.GenerateHostKey()
if err != nil {
log.Fatal(err)
}
keys, err = utils.CheckHostKey()
if err != nil {
log.Fatal(err)
}
}
sessionHandler := func(s ssh.Session) {
_, _ = io.WriteString(s, "Hello World\n")
}
s := &ssh.Server{
Addr: ":" + port,
Handler: sessionHandler,
}
for _, key := range keys {
s.AddHostKey(key)
}
log.Print("Listening on :" + port)
log.Fatal(s.ListenAndServe())
}