Advertisement
Guest User

Untitled

a guest
Jul 26th, 2017
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.94 KB | None | 0 0
  1. package main
  2.  
  3. import (
  4. "io/ioutil"
  5. "log"
  6. "net"
  7.  
  8. "code.google.com/p/go.crypto/ssh"
  9. )
  10.  
  11. func main() {
  12. var sshF = "/home/xiangchao/.ssh/id_rsa"
  13. privateKey, err := ioutil.ReadFile(sshF)
  14. if err != nil {
  15. log.Fatal(err)
  16. }
  17. log.Printf("private key:\n %s", string(privateKey))
  18.  
  19. signer, err := ssh.ParsePrivateKey(privateKey)
  20. if err != nil {
  21. log.Fatal(err)
  22. }
  23.  
  24. clientConfig := ssh.ClientConfig{
  25. User: "micode",
  26. Auth: []ssh.AuthMethod{
  27. ssh.PublicKeys(signer),
  28. },
  29. HostKeyCallback: func(
  30. hostname string,
  31. remote net.Addr,
  32. key ssh.PublicKey) error {
  33. // do something in call back function
  34. return nil
  35. },
  36. }
  37.  
  38. client, err := ssh.Dial("tcp", "micode.be.xiaomi.com:22", &clientConfig)
  39. if err != nil {
  40. log.Fatal(err)
  41. }
  42. log.Println("Connect Ok")
  43. defer client.Close()
  44.  
  45. session, err := client.NewSession()
  46. if err != nil {
  47. log.Fatalf("Failed to create session: " + err.Error())
  48. }
  49. log.Println("Get session OK")
  50. defer session.Close()
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement