kubernetes/kops · error

error creating sftp client (executing 'sudo /usr/lib/openssh

Error message

error creating sftp client (executing 'sudo /usr/lib/openssh/sftp-server'): %w

What it means

Returned by SSHPath.newClient when s.Start("sudo /usr/lib/openssh/sftp-server") fails on the remote host after pipes were set up. The remote shell could not launch the sftp-server binary — sudo requires a TTY/password, the binary path doesn't exist on that distro, or the account lacks permission — so no SFTP channel can be created.

Source

Thrown at util/pkg/vfs/sshfs.go:81

		return sftpClient, nil
	}
	s, err := p.client.NewSession()
	if err != nil {
		return nil, fmt.Errorf("error creating sftp client (in new-session): %w", err)
	}

	stdin, err := s.StdinPipe()
	if err != nil {
		return nil, fmt.Errorf("error creating sftp client (at stdin pipe): %w", err)
	}
	stdout, err := s.StdoutPipe()
	if err != nil {
		return nil, fmt.Errorf("error creating sftp client (at stdout pipe): %w", err)
	}

	err = s.Start("sudo /usr/lib/openssh/sftp-server")
	if err != nil {
		return nil, fmt.Errorf("error creating sftp client (executing 'sudo /usr/lib/openssh/sftp-server'): %w", err)
	}

	c, err := sftp.NewClientPipe(stdout, stdin)
	if err != nil {
		return nil, fmt.Errorf("error starting sftp (executing 'sudo /usr/lib/openssh/sftp-server'): %w", err)
	}
	return c, nil
}

func (p *SSHPath) Path() string {
	return "ssh://" + p.server + p.path
}

func (p *SSHPath) String() string {
	return p.Path()
}

func (p *SSHPath) Remove(ctx context.Context) error {

View on GitHub (pinned to 4c8573c808)

Solutions

  1. Verify /usr/lib/openssh/sftp-server exists on the target host (path differs on non-Debian systems)
  2. Ensure the SSH user has passwordless sudo, or connect as root
  3. Check the SSH session output for the remote shell's error message
Defensive patterns

Strategy: fallback

When it happens

Trigger: Thrown at util/pkg/vfs/sshfs.go:81 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of kubernetes/kops@4c8573c808 (2026-09-05). Data as JSON: /api/errors/f66ee7a15926f63e. Report an issue: GitHub.