ssh-chat/sshd/client_test.go
2016-09-01 17:01:47 -04:00

44 lines
760 B
Go

package sshd
import (
"errors"
"net"
"testing"
"golang.org/x/crypto/ssh"
)
var errRejectAuth = errors.New("not welcome here")
type RejectAuth struct{}
func (a RejectAuth) AllowAnonymous() bool {
return false
}
func (a RejectAuth) Check(net.Addr, ssh.PublicKey) (bool, error) {
return false, errRejectAuth
}
func TestClientReject(t *testing.T) {
signer, err := NewRandomSigner(512)
if err != nil {
t.Fatal(err)
}
config := MakeAuth(RejectAuth{})
config.AddHostKey(signer)
s, err := ListenSSH("localhost:0", config)
if err != nil {
t.Fatal(err)
}
defer s.Close()
go s.Serve()
conn, err := ssh.Dial("tcp", s.Addr().String(), NewClientConfig("foo"))
if err == nil {
defer conn.Close()
t.Error("Failed to reject conncetion")
}
}