diff options
| author | Willem van der Schyff <willemvds@gmail.com> | 2012-10-21 16:16:55 +1100 |
|---|---|---|
| committer | Dave Cheney <dave@cheney.net> | 2012-10-21 16:16:55 +1100 |
| commit | 2fccde5d00389df8edd4f660470ac8f105c6280e (patch) | |
| tree | 9681ea749be6fb488ee0b4d632db425abe86a79d /ssh/example_test.go | |
| parent | c9c0e06eed439a60df0ef7aa13c0b97e19cdd3a7 (diff) | |
| download | go-x-crypto-2fccde5d00389df8edd4f660470ac8f105c6280e.tar.xz | |
go.crypto/ssh: add terminal modes to ssh.RequestPty()
R=dave, agl
CC=golang-dev
https://golang.org/cl/6655046
Diffstat (limited to 'ssh/example_test.go')
| -rw-r--r-- | ssh/example_test.go | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/ssh/example_test.go b/ssh/example_test.go index c8a2de8..54f3610 100644 --- a/ssh/example_test.go +++ b/ssh/example_test.go @@ -149,3 +149,39 @@ func ExampleClientConn_Listen() { fmt.Fprintf(resp, "Hello world!\n") })) } + +func ExampleSession_RequestPty() { + // Create client config + config := &ClientConfig{ + User: "username", + Auth: []ClientAuth{ + ClientAuthPassword(password("password")), + }, + } + // Connect to ssh server + conn, err := Dial("tcp", "localhost:22", config) + if err != nil { + log.Fatalf("unable to connect: %s", err) + } + defer conn.Close() + // Create a session + session, err := conn.NewSession() + if err != nil { + log.Fatalf("unable to create session: %s", err) + } + defer session.Close() + // Set up terminal modes + modes := TerminalModes{ + ECHO: 0, // disable echoing + TTY_OP_ISPEED: 14400, // input speed = 14.4kbaud + TTY_OP_OSPEED: 14400, // output speed = 14.4kbaud + } + // Request pseudo terminal + if err := session.RequestPty("xterm", 80, 40, modes); err != nil { + log.Fatalf("request for pseudo terminal failed: %s", err) + } + // Start remote shell + if err := session.Shell(); err != nil { + log.Fatalf("failed to start shell: %s", err) + } +} |
