Advertisement
Guest User

Untitled

a guest
Oct 16th, 2019
154
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.28 KB | None | 0 0
  1. package main
  2.  
  3. import (
  4. "bufio"
  5. "flag"
  6. "fmt"
  7. "golang.org/x/crypto/ssh"
  8. "log"
  9. "os"
  10. )
  11.  
  12. func main() {
  13. var (
  14. host string
  15. port int
  16. user string
  17. password string
  18. )
  19.  
  20. flag.StringVar(&host, "h", "185.20.227.83", "ssh server address")
  21. flag.IntVar(&port, "port", 22, "port of ssh server")
  22. flag.StringVar(&user, "u", "iu9_32_19", "username")
  23. flag.StringVar(&password, "p", "123qwe", "password")
  24.  
  25. flag.Parse()
  26.  
  27. config := &ssh.ClientConfig{
  28. User: user,
  29. Auth: []ssh.AuthMethod{
  30. ssh.Password(password)},
  31. HostKeyCallback: ssh.InsecureIgnoreHostKey()}
  32.  
  33. client, err := ssh.Dial("tcp", fmt.Sprintf("%s:%d", host, port), config)
  34. if err != nil {
  35. panic(err)
  36. }
  37. defer client.Close()
  38. session, err := client.NewSession()
  39. if err != nil {
  40. panic(err)
  41. }
  42. defer session.Close()
  43.  
  44. stdin, err := session.StdinPipe()
  45. if err != nil {
  46. panic(err)
  47. }
  48.  
  49. session.Stdout = os.Stdout
  50. session.Stderr = os.Stderr
  51.  
  52. err = session.Shell()
  53. if err != nil {
  54. panic(err)
  55. }
  56.  
  57. scanner := bufio.NewScanner(os.Stdin)
  58. for scanner.Scan() {
  59. s := scanner.Text()
  60. _, err = fmt.Fprintf(stdin, "%s\n", s)
  61. if err != nil {
  62. log.Fatal(err)
  63. }
  64. if s == "exit" {
  65. break
  66. }
  67. }
  68.  
  69. err = session.Wait()
  70. if err != nil {
  71. log.Fatal(err)
  72. }
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement