SSHTunnel/Main.go
Thorsten Sommer cc97b844c0 Init
2015-01-02 16:51:37 +01:00

38 lines
726 B
Go

package main
import (
"golang.org/x/crypto/ssh"
"log"
"net"
)
func main() {
readFlags()
config := &ssh.ClientConfig{
User: username,
Auth: []ssh.AuthMethod{
ssh.Password(password),
ssh.PasswordCallback(passwordCallback),
ssh.KeyboardInteractive(keyboardInteractiveChallenge),
},
}
localListener, err := net.Listen(`tcp`, localAddrString)
if err != nil {
log.Printf("net.Listen failed: %v\n", err)
} else {
log.Println(`Listen to local address.`)
}
for {
localConn, err := localListener.Accept()
if err != nil {
log.Printf("listen.Accept failed: %v\n", err)
} else {
log.Println(`Accepted a client.`)
go forward(localConn, config)
}
}
}