code: func NewClientConnWithDeadline(conn net.Conn, addr string, config *ssh.ClientConfig) (*ssh.Client, error) {
  	if config.Timeout > 0 {
  		conn.SetReadDeadline(time.Now().Add(config.Timeout))
  	}
  	c, chans, reqs, err := ssh.NewClientConn(conn, addr, config)
  	if err != nil {
  		return nil, err
  	}
  	if config.Timeout > 0 {
  		conn.SetReadDeadline(time.Time{})
  	}
  	return ssh.NewClient(c, chans, reqs), nil
  }
docs: // NewClientConnWithDeadline establishes new client connection with specified deadline