hashicorp/vagrant · error · Vagrant::Errors::SCPUnavailable

SSH server on the guest doesn't support SCP. Please install

Error message

SSH server on the guest doesn't support SCP. Please install the necessary
software to enable SCP on your guest operating system.

What it means

Error "SSH server on the guest doesn't support SCP. Please install the necessary software to enable SCP on your guest operating system." thrown in hashicorp/vagrant.

Source

Thrown at plugins/communicators/ssh/communicator.rb:798

          @logger.debug("Exit status: #{exit_status.inspect}")
          raise Vagrant::Errors::SSHNoExitStatus
        end

        # Return the final exit status
        return exit_status
      end

      # Opens an SCP connection and yields it so that you can download
      # and upload files.
      def scp_connect
        # Connect to SCP and yield the SCP object
        connect do |connection|
          scp = Net::SCP.new(connection)
          return yield scp
        end
      rescue Net::SCP::Error => e
        # If we get the exit code of 127, then this means SCP is unavailable.
        raise Vagrant::Errors::SCPUnavailable if e.message =~ /\(127\)/

        # Otherwise, just raise the error up
        raise
      end

      # This will test whether path is the Vagrant insecure private key.
      #
      # @param [String] path
      def insecure_key?(path)
        return false if !path
        return false if !File.file?(path)
        Dir.glob(Vagrant.source_root.join("keys", "vagrant.key.*")).any? do |source_path|
          File.read(path).chomp == File.read(source_path).chomp
        end
      end

      def create_remote_directory(dir)
        execute("mkdir -p \"#{dir}\"")

View on GitHub (pinned to 35f3160f4a)

When it happens

Trigger: Thrown at plugins/communicators/ssh/communicator.rb:798 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of hashicorp/vagrant@35f3160f4a (2026-08-21). Data as JSON: /api/errors/2f095435acee992c. Report an issue: GitHub.