func WithAuthMethod(am ssh.AuthMethod) ShellOption {
	return func(s *Shell) error {
		s.authMethods = append(s.authMethods, am)
		return nil
	}
}
WithAuthMethod adds a new ssh.AuthMethod to the shell.
package sshutil
import (
	"io"
	"log"
	"net"
	"os"
	"os/exec"
	"path/filepath"
	"strings"
	"github.com/pkg/errors"
	"github.com/smallstep/cli/config"
	"golang.org/x/crypto/ssh"
	"golang.org/x/crypto/ssh/knownhosts"
	"golang.org/x/term"
)
func ProxyCommand(cmd, user, host, port string) string {
	cmd = strings.ReplaceAll(cmd, "%%", "%")
	cmd = strings.ReplaceAll(cmd, "%h", host)
	cmd = strings.ReplaceAll(cmd, "%p", port)
	return strings.ReplaceAll(cmd, "%r", user)
}
type ShellOption func(s *Shell) error