Innitial Commit

+added Base Project Version 0.0.1
This commit is contained in:
2026-05-03 01:13:59 +02:00
commit 321f4a5bad
8 changed files with 745 additions and 0 deletions

54
internal/sshclient/ssh.go Normal file
View File

@@ -0,0 +1,54 @@
package sshclient
import (
"fmt"
"os"
"pdev-ssh/internal/models"
"golang.org/x/crypto/ssh"
)
func ConnectWithPassword(server models.Server, password string) error {
config := &ssh.ClientConfig{
User: server.User,
Auth: []ssh.AuthMethod{
ssh.Password(password),
},
HostKeyCallback: ssh.InsecureIgnoreHostKey(),
}
addr := fmt.Sprintf("%s:%d", server.Host, server.Port)
client, err := ssh.Dial("tcp", addr, config)
if err != nil {
return err
}
defer client.Close()
session, err := client.NewSession()
if err != nil {
return err
}
defer session.Close()
session.Stdout = os.Stdout
session.Stderr = os.Stderr
session.Stdin = os.Stdin
modes := ssh.TerminalModes{
ssh.ECHO: 1,
ssh.TTY_OP_ISPEED: 14400,
ssh.TTY_OP_OSPEED: 14400,
}
if err := session.RequestPty("xterm-256color", 40, 120, modes); err != nil {
return err
}
if err := session.Shell(); err != nil {
return err
}
return session.Wait()
}