Secure Copy

The Secure Copy Protocol (SCP) feature provides a secure and authenticated method for copying router configuration or router image files. SCP relies on Secure Shell (SSH), an application and a protocol that provide a secure replacement for the Berkeley r-tools.

From Cisco IOS XE Everest 16.6.1 release, the SCP feature has been enhanced to provide user access to configure the SSH/SCP window-size, thus improving the speed and performance of the SCP operation.

Prerequisites for Secure Copy

  • Before enabling SCP, you must correctly configure SSH, authentication, and authorization on the router.

  • Because SCP relies on SSH for its secure transport, the router must have an Rivest, Shamir, and Adelman (RSA) key pair.

Restrictions for Secure Copy Performance Improvement

  • Incrementing window-size must be used mainly for SCP operations only.

  • Depending on the platform type, the maximum window size can cause high CPU usage.

  • As a precaution, increments can be made up to four times the default size.

Information About Secure Copy

How SCP Works

The behavior of SCP is similar to that of remote copy (rcp), which comes from the Berkeley r-tools suite, except that SCP relies on SSH for security. In addition, SCP requires that authentication, authorization, and accounting (AAA) authorization be configured so the router can determine whether the user has the correct privilege level.

SCP allows a user who has appropriate authorization to copy any file that exists in the Cisco IOS XE File System (IFS) to and from a router by using the copy command. An authorized administrator may also perform this action from a workstation.

SCP Performance Improvement

To overcome the problem of SCP performance degradation, an option to increase the window-size used for SSH/SCP is supported. Depending on the window-size internally, the buffer size is adjusted to improve the bandwidth utilization. Normal SSH/SCP operation is not impacted due to the changes, as the existing default values are the same.

How to Configure SCP

Configuring SCP

To enable and configure a Cisco router for SCP server-side functionality, perform the following steps.

SUMMARY STEPS

    1.    enable

    2.    configure terminal

    3.    aaa new-model

    4.    aaa authentication login {default | list-name} method1[method2...]

    5.    aaa authorization {network | exec | commands level | reverse-access | configuration} {default | list-name} [method1 [method2...]]

    6.    username name [privilege level]{password encryption-type encrypted-password}

    7.    ip scp server enable


DETAILED STEPS
     Command or ActionPurpose
    Step 1 enable


    Example:
    Router> enable
     

    Enables privileged EXEC mode.

    • Enter your password if prompted.

     
    Step 2 configure terminal


    Example:
    Router# configure terminal
     

    Enters global configuration mode.

     
    Step 3 aaa new-model


    Example:
    Router (config)# aaa new-model
     

    Sets AAA authentication at login.

     
    Step 4 aaa authentication login {default | list-name} method1[method2...]


    Example:
    Router (config)# aaa authentication login default group tacacs+
     

    Enables the AAA access control system.

     
    Step 5 aaa authorization {network | exec | commands level | reverse-access | configuration} {default | list-name} [method1 [method2...]]


    Example:
    Router (config)# aaa authorization exec default group tacacs+
     

    Sets parameters that restrict user access to a network.

    Note   

    The exec keyword runs authorization to determine if the user is allowed to run an EXEC shell; therefore, you must use it when you configure SCP.

     
    Step 6 username name [privilege level]{password encryption-type encrypted-password}


    Example:
    Router (config)# username superuser privilege 2 password 0 superpassword
     

    Establishes a username-based authentication system.

    Note   

    You may skip this step if a network-based authentication mechanism--such as TACACS+ or RADIUS--has been configured.

     
    Step 7 ip scp server enable


    Example:
    Router (config)# ip scp server enable
     

    Enables SCP server-side functionality.

     

    Modifying the SCP Window Size

    To acess and modify the SCP window-size, perform the following steps.

    SUMMARY STEPS

      1.    enable

      2.    configure terminal

      3.    ip ssh window-size bytes

      4.    exit


    DETAILED STEPS
       Command or ActionPurpose
      Step 1 enable


      Example:
      Device> enable
       

      Enables privileged EXEC mode.

      • Enter your password if prompted.

       
      Step 2 configure terminal


      Example:
      Device# configure termminal
       

      Enters global configuration mode.

       
      Step 3 ip ssh window-size bytes


      Example:
      Device(config)# ip ssh window-size 65536
       

      Modifies the SCP window-size. The range (in bytes) is from 8192 to 131072.

      Note   

      Although the maximum supported value is 131072, it is recommended to use a maximum value of 65536, as low-end devices may have more impact on the CPU.

      Note    You must mandatorily use the ip tcp window-size bytes command (with same value as ssh window-size) to improve performance, as SSH works on TCP protocol.
       
      Step 4 exit


      Example:
      Device(config)# exit
       

      Exits to privileged EXEC mode.

       

      Verifying SCP

      To verify SCP server-side functionality, perform the following steps.

      SUMMARY STEPS

        1.    enable

        2.    show running-config


      DETAILED STEPS
         Command or ActionPurpose
        Step 1 enable


        Example:
        Router> enable
         

        Enables privileged EXEC mode.

        • Enter your password if prompted.

         
        Step 2 show running-config


        Example:
        Router# show running-config
         

        Verifies the SCP server-side functionality.

         

        Troubleshooting SCP

        SUMMARY STEPS

          1.    enable

          2.    debug ip scp


        DETAILED STEPS
           Command or ActionPurpose
          Step 1 enable


          Example:
          Router> enable
           

          Enables privileged EXEC mode.

          • Enter your password if prompted.

           
          Step 2 debug ip scp


          Example:
          Router# debug ip scp
           

          Troubleshoots SCP authentication problems.

           

          Configuration Examples for Secure Copy

          Example SCP Server-Side Configuration Using Local Authentication

          The following example shows how to configure the server-side functionality of SCP. This example uses a locally defined username and password.

          ! AAA authentication and authorization must be configured properly for SCP to work.
          aaa new-model
          aaa authentication login default local
          aaa authorization exec default local
          username tiger privilege 15 password 0 lab
          ! SSH must be configured and functioning properly.
          ip ssh time-out 120
          ip ssh authentication-retries 3
          ip scp server enable

          Example SCP Server-Side Configuration Using Network-Based Authentication

          The following example shows how to configure the server-side functionality of SCP using a network-based authentication mechanism:

          ! AAA authentication and authorization must be configured properly for SCP to work. 
          aaa new-model 
          aaa authentication login default group tacacs+
          aaa authorization exec default group tacacs+
          ! SSH must be configured and functioning properly.
          ip ssh time-out 120
          ip ssh authentication-retries 3
          ip scp server enable

          Additional References

          Related Documents

          Related Topic

          Document Title

          Cisco IOS commands

          Cisco IOS Master Commands List, All Releases

          Security commands: complete command syntax, command modes, command history, defaults, usage guidelines, and examples

          Cisco IOS Security Command Reference

          Secure Shell

          Configuring Secure Shell and Secure Shell Version 2 Support feature modules.

          Configuring authentication and authorization

          Configuring Authentication , Configuring Authorization , and Configuring Accounting feature modules.

          Standards

          Standards

          Title

          None

          --

          MIBs

          MIBs

          MIBs Link

          None

          To locate and download MIBs for selected platforms, Cisco software releases, and feature sets, use Cisco MIB Locator found at the following URL:

          http:/​/​www.cisco.com/​go/​mibs

          RFCs

          RFCs

          Title

          No new or modified RFCs are supported by this feature, and support for existing RFCs has not been modified by this feature.

          --

          Technical Assistance

          Description

          Link

          The Cisco Support and Documentation website provides online resources to download documentation, software, and tools. Use these resources to install and configure the software and to troubleshoot and resolve technical issues with Cisco products and technologies. Access to most tools on the Cisco Support and Documentation website requires a Cisco.com user ID and password.

          http:/​/​www.cisco.com/​cisco/​web/​support/​index.html

          Feature Information for Secure Copy

          The following table provides release information about the feature or features described in this module. This table lists only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also support that feature.

          Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/​go/​cfn. An account on Cisco.com is not required.
          Table 1 Feature Information for Secure Copy

          Feature Name

          Releases

          Feature Configuration Information

          SCP Performance Improvement

          Cisco IOS XE Everest Release 16.6.1

          The Secure Copy Protocol (SCP) Performance Improvement feature provides user access to configure the SSH/SCP window-size, thus improving the speed and performance of the SCP operation.

          The following commands were introduced or modified: ip ssh window-size bytes.

          Secure Copy

          Cisco IOS XE Release 2.1

          The Secure Copy (SCP) feature provides a secure and authenticated method for copying router configuration or router image files. SCP relies on Secure Shell (SSH), an application and a protocol that provide a secure replacement for the Berkeley r-tools.

          In Cisco IOS XE Release 2.1, this feature was introduced on Cisco ASR 1000 Series Aggregation Services Routers.

          The following commands were introduced or modified: debug ip scp, ip scp server enable.

          Glossary

          AAA --authentication, authorization, and accounting. Framework of security services that provide the method for identifying users (authentication), for remote access control (authorization), and for collecting and sending security server information used for billing, auditing, and reporting (accounting).

          rcp --remote copy. Relying on Remote Shell (Berkeley r-tools suite) for security, rcp copies files, such as router images and startup configurations, to and from routers.

          SCP --secure copy. Relying on SSH for security, SCP support allows the secure and authenticated copying of anything that exists in the Cisco IOS XE File Systems. SCP is derived from rcp.

          SSH --Secure Shell. Application and a protocol that provide a secure replacement for the Berkeley r-tools. The protocol secures the sessions using standard cryptographic mechanisms, and the application can be used similarly to the Berkeley rexec and rsh tools. SSH Version 1 is implemented in the Cisco IOS XE software.