[index] CentreCOM Secure HUB GS980Mシリーズ コマンドリファレンス 5.5.5

# copy

モード: 特権EXECモード
カテゴリー: 運用・管理 / ファイル操作

`# copy SOURCE DESTINATION [OPTION]`

ファイルをコピーする。
ローカルファイルシステム上でのコピーだけでなく、ネットワーク経由のリモートコピー（アップロードやダウンロード）や端末経由のファイル転送も可能。
本コマンドではさまざまな書式を使用できるが、基本パターンは次のとおり。

1. 通常ファイルをコピーするためのもっとも一般的な書式
   コピー元とコピー先は、ローカルファイルシステム上のファイルでも、リモートホスト上のファイルでもよい。

   `copy REGULARSRC REGULARDST`

2. 設定の保存や復元に使用する特殊な書式
   - ランタイムメモリー上にある現在の設定内容（ランニングコンフィグ）を起動時コンフィグ（スタートアップコンフィグ）として保存するための書式。write fileコマンド、write memoryコマンドと同等

     `copy running-config startup-config`

   - ランニングコンフィグを通常ファイルに保存するための書式。この場合、次回起動時にランニングコンフィグが自動復元されるわけではないので注意。

     `copy running-config REGULARDST`

   - 通常ファイルの内容をスタートアップコンフィグにコピーするための書式。指定したファイルに記述された設定内容を次回起動時に復元させたい場合に使用する。

     `copy REGULARSRC startup-config`

     > Note

     > > 「copy REGULARSRC startup-config」の書式では、既存のスタートアップコンフィグを上書きすることはできない。同書式でスタートアップコンフィグの内容を変更する場合は、あらかじめerase startup-configコマンドでスタートアップコンフィグを消去しておくこと。なお、次回のスタートアップコンフィグを変更する方法には、boot config-fileコマンドでスタートアップコンフィグの実体ファイルを切り替える方法もある。コンフィグファイルの管理方針にしたがって適切な方法を選択すること。

   - スタートアップコンフィグを通常ファイルにコピーするための書式。スタートアップコンフィグのバックアップに使う。

     `copy startup-config REGULARDST`

3. Web認証サーバーのSSLサーバー証明書と秘密鍵の組をインストールするための書式。

   `copy REGULARSRC web-auth-https-file`

4. Webブラウザーの設定に使うプロキシー自動更新ファイル（PACファイル）をインストールするための書式。

   `copy REGULARSRC proxy-autoconfig-file`

5. ZMODEMプロトコルにより通信ソフトウェア（端末エミュレーター）経由でファイル転送を行うための書式
   この方式では、SSHのような仮想端末接続時だけでなく、コンソールポート経由でもファイルを転送することが可能。
   - ZMODEMでファイルを受信
     コピー先ファイル名は指定できない。ZMODEMプロトコルで通知された名前で保存される。

     `copy zmodem`

   - ZMODEMでファイルを送信

     `copy REGULARSRC zmodem`

6. 本体に保存されるログ（bufferedログとpermanentログ）を任意のファイルにコピーするための書式

   `copy buffered-log REGULARDST`

   `copy permanent-log REGULARDST`

### パラメーター

`SOURCE` | コピー元（読み出し元）ファイルのパス。次のような指定が可能
| `REGULARSRC` | 通常ファイル。大きく分けて次の2種類がある
|  | `LOCALSRC` | ローカルファイルのパス。もっとも簡略な指定方法として、「flash」、「nvs」、「usb」のようにデバイス名だけを指定することもできる。この場合は、指定したデバイス上のパスを対話式にたずねてくる
|  | `REMOTESRC` | リモートファイルのURL。リモートコンピューター上のファイルをネットワーク経由で転送する場合はこの形式で指定する。プロトコルとしては、TFTP、HTTP、SCP、SFTPを使用可能。もっとも簡略な指定方法として、「tftp」、「http」、「scp」、「sftp」のようにスキーム（プロトコル）だけを指定することもできる。この場合は、ホスト名やファイル名を対話式にたずねてくる。また、通常のURLを指定した場合であっても、足りない情報があるときは対話式にたずねてくる。なお、HTTPはIPv4にのみ対応。TFTP、SCP、SFTPはIPv4とIPv6の両方に対応している
| `zmodem` | 通信ソフトウェア（端末エミュレーター）経由でファイルを受信する場合に指定する（転送プロトコルはZMODEM）。このとき、第2引数（`DESTINATION`）は指定できず、受信したファイルはZMODEMプロトコルで通知された名前で保存される
| `running-config` | ランタイムメモリー上にある現在の設定内容（ランニングコンフィグ）を示す特殊な指定
| `startup-config` | 起動時コンフィグ（スタートアップコンフィグ）を示す特殊な指定。スタートアップコンフィグの実体ファイルはshow bootコマンドで確認でき、boot config-fileコマンドで変更できる
| `buffered-log` | bufferedログ（ランタイムメモリーに保存されている一時ログ）を表す特殊な指定
| `permanent-log` | permanentログ（フラッシュメモリーに保存されている永続ログ）を表す特殊な指定
`DESTINATION` | コピー先（書き込み先）ファイルまたはディレクトリーのパス。第一引数（`SOURCE`）が`zmodem`の場合は指定できない。基本的な指定方法は第一引数（`SOURCE`）と同じ。ディレクトリーを指定した場合は、保存時のファイル名を対話式にたずねてくる
| `REGULARDST` | 通常ファイルまたはディレクトリー。大きく分けて次の2種類がある
|  | `LOCALDST` | ローカルファイルまたはディレクトリーのパス。もっとも簡略な指定方法として、「flash」、「nvs」、「usb」のようにデバイス名だけを指定することもできる。この場合は、指定したデバイス上のパスを対話式にたずねてくる
|  | `REMOTEDST` | リモートファイルまたはディレクトリーのURL。第1引数（`SOURCE`）で指定したファイルをネットワーク経由でリモートコンピューターに転送する場合はこの形式で指定する。転送プロトコルとしては、TFTP、SCPを使用可能。もっとも簡略な指定方法として、「tftp」、「scp」のようにスキーム（プロトコル）だけを指定することもできる。この場合は、ホスト名やファイル名を対話式にたずねてくる。また、通常のURLを指定した場合であっても、足りない情報があるときは対話式にたずねてくる。なお、TFTP、SCPはIPv4とIPv6の両方に対応している
| `zmodem` | 第1引数（`SOURCE`）で指定したファイルを通信ソフトウェア（端末エミュレーター）経由で送信する場合に指定する（転送プロトコルはZMODEM）
| `startup-config` | 起動時コンフィグ（スタートアップコンフィグ）を示す特殊な指定。スタートアップコンフィグの実体ファイルはshow bootコマンドで確認でき、boot config-fileコマンドで変更できる。なお、コピー元にrunning-configを指定した場合を除いて、本コマンドで既存のスタートアップコンフィグを上書きすることはできない。スタートアップコンフィグの内容を変更する場合は、あらかじめerase startup-configコマンドでスタートアップコンフィグを消去しておくこと
| `web-auth-https-file` | Web認証サーバーのSSLサーバー証明書と秘密鍵の組を含むファイルの置き場所を示す特殊な指定。第1引数（`SOURCE`）で指定したPEM形式ファイルに含まれる証明書と秘密鍵をWeb認証サーバーで使用したい場合に指定する。本書式を用いて独自の証明書と秘密鍵をインストールすると、それ以降はインストールした証明書と秘密鍵が自動的に使われるようになる。証明書と秘密鍵はシステムファイルに保存されるため、コンフィグを保存する必要はない。独自の証明書と秘密鍵を削除して、システム付属の証明書と秘密鍵を使うようにするには、erase web-auth-https-fileコマンドを実行すればよい。なお、第1引数で指定するPEM形式ファイルは、サーバー証明書のPEM形式ファイルと秘密鍵のPEM形式ファイルを連結して1つのファイルにしたものでなくてならない（PEM形式ファイルはテキストファイルなので、テキストエディターのコピー＆ペーストやファイル連結ユーティリティーなどで連結すればよい）。また、秘密鍵にはパスワードをかけてはならない。インストールした証明書か秘密鍵に不備があると、Web認証サーバーが正しく動作しなくなるので注意。そのような場合は、erase web-auth-https-fileコマンドでインストールした証明書と秘密鍵を削除すればよい
| `proxy-autoconfig-file` | Webサーバー機能（service http）にプロキシー自動構成ファイル（PACファイル）をインストールするために使う特殊な指定。第1引数（`SOURCE`）にはPACファイルの場所を指定すること。第1引数で指定したファイルの名前にかかわらず、インストールしたPACファイルのURLは「http://本製品のIPアドレス/proxy.pac」となる

### 使用例

■ カレントディレクトリーにあるファイルtest1.cfgをtest2.cfgとしてコピーする。

    awplus# copy test1.cfg test2.cfg ↓

■ 現在の設定内容（ランニングコンフィグ）を起動時コンフィグ（スタートアップコンフィグ）として保存する。これにより、次回起動時に現在の設定内容が復元される。

    awplus# copy running-config startup-config ↓

■ 現在の設定内容（ランニングコンフィグ）をカレントディレクトリーのファイルsnmpv3.cfgとして保存する。本コマンドは、現在の設定内容をsnmpv3.cfgに保存するだけで、その内容が次回起動時に読み込まれるよう設定するわけではないことに注意（次の例も参照）。

    awplus# copy running-config snmpv3.cfg ↓

■ 起動時コンフィグ（スタートアップコンフィグ）の内容をflash:/basicip.cfgにコピー（バックアップ）する。

    awplus# copy startup-config flash:/basicip.cfg ↓

■ カレントディレクトリーにあるファイルsnmpv3.cfgの内容を起動時コンフィグ（スタートアップコンフィグ）にコピーする。これにより、次回起動時にsnmpv3.cfgの内容が復元される。

    awplus# erase startup-config ↓
    awplus# copy snmpv3.cfg startup-config ↓

> Note

> > 「copy REGULARSRC startup-config」の書式では、既存のスタートアップコンフィグを上書きすることはできない。同書式でスタートアップコンフィグの内容を変更する場合は、あらかじめerase startup-configコマンドでスタートアップコンフィグを消去しておくこと。なお、次回のスタートアップコンフィグを変更する方法には、boot config-fileコマンドでスタートアップコンフィグの実体ファイルを切り替える方法もある。コンフィグファイルの管理方針にしたがって適切な方法を選択すること。

■ 現在の設定内容（ランニングコンフィグ）をTFTPサーバーhiyoko.example.comにアップロードし、同サーバー上のファイルrunning.cfgとして保存する（バックアップする）。

    awplus# copy running-config tftp://hiyoko.example.com/running.cfg ↓

■ IPv6対応のSSHサーバー「2001:db8:2:3::4」上のファイルtmp/heavytest.cfgをSSHのサブアプリケーションであるSCP（Secure CoPy）経由で取得し、フラッシュメモリーのルートディレクトリーにtest1000.cfgとして保存する。ログイン時のユーザー名としてはzeinを使用する。

    awplus# copy scp://zein@[2001:db8:2:3::4]/tmp/heavytest.cfg flash:/test1000.cfg ↓
    Password:XXXXXX ↓ （実際には表示されません）
    Copying..
    Successful operation

> Note

> > URLのホスト指定部にIPv6アドレスを直接記述するときは、この例のようにスクエアブラケット（[ ]）で囲む必要があることに注意。

■ HTTPサーバーwww.example.com上のファイル/~zein/work/myconfig.cfgをダウンロードし、カレントディレクトリーのファイルmyconfig.cfgとして保存する。

    awplus# copy http://www.example.com/~zein/work/myconfig.cfg myconfig.cfg ↓

■ SSHサーバー上のファイルwww/work/myconfig.cfgをSSHのサブアプリケーションであるSFTP（Secure FTP）経由で取得し、フラッシュメモリーのルートディレクトリーにmyconfig2.cfgとして保存する。ログイン時のユーザー名としてはzeinを使用する。

    awplus# copy sftp://zein@www.example.com/www/work/myconfig.cfg flash:/myconfig2.cfg ↓
    Password:XXXXXX ↓ （実際には表示されません）
    Copying..
    Successful operation

■ カレントディレクトリーにあるファイルmyconfig2.cfgを通信ソフトウェア（端末エミュレーター）経由で送信する（プロトコルはZMODEM）。

    awplus# copy myconfig2.cfg zmodem ↓
    **B00000000000000
    （通信ソフトウェア側でZMODEMによるファイル受信の操作を行う）

■ ZMODEMプロトコルにより通信ソフトウェア（端末エミュレーター）経由でファイルを受信し、カレントディレクトリーに保存する。保存時の名前にはZMODEMで通知されたものが使われる。

    awplus# copy zmodem ↓
    rz waiting to receive.**B0100000023be50
    （通信ソフトウェア側でZMODEMによるファイル送信の操作を行う）

■ TFTPによるファイルダウンロードを対話式に行うには、コピー元に「tftp」、コピー先に「flash」とだけ指定する。

    awplus# copy tftp flash ↓
    Enter source host name []:172.17.28.70 ↓ （TFTPサーバー）
    Enter source file name []:test1234.cfg ↓ （ダウンロード対象ファイル）
    Enter destination file name [test1234.cfg]: ↓ （ダウンロード後ファイル名。カッコ内の名前でよければ単にEnter）
    Copying...
    Successful operation

■ TFTPによるファイルアップロードを対話式に行うには、コピー先に「tftp」とだけ指定する。以下の例ではコピー元ファイル名を明示しているが、単に「flash」などと指定すればコピー元ファイルのパスも対話式に入力できる。

    awplus# copy test2345.cfg tftp ↓
    Enter destination host name []:172.17.28.70 ↓ （TFTPサーバー）
    Enter destination file name [test2345.cfg]: ↓ （アップロード後ファイル名。カッコ内の名前でよければ単にEnter）
    Copying..
    Successful operation

■ HTTPによるファイルダウンロードを対話式に行うには、コピー元に「http」、コピー先に「flash」とだけ指定する。

    awplus# copy http flash ↓
    Enter source host name []:172.17.28.70 ↓ （HTTPサーバー）
    Enter source file name []:~zein/work/weekly.txt ↓ （ダウンロード対象ファイル）
    Enter destination file name [weekly.txt]: ↓ （ダウンロード後ファイル名。カッコ内の名前でよければ単にEnter）
    Copying..
    Successful operation

■ SCPによるファイルダウンロードを対話式に行うには、コピー元に「scp」、コピー先に「flash」とだけ指定する。

    awplus# copy scp flash ↓
    Enter source host name []:zein@172.17.28.1 ↓ （SCP（SSH）サーバー。通常は「ユーザー名@」を前置する）
    Enter source file name []:tmp/test3456.cfg ↓ （ダウンロード対象ファイル）
    Enter destination file name [test3456.cfg]: ↓ （ダウンロード後ファイル名。カッコ内の名前でよければ単にEnter）
    Password:XXXXXXXX ↓ （SSHサーバーにログインするためのパスワード。実際には表示されません）
    Copying..
    Successful operation

■ SCPによるファイルアップロードを対話式に行うには、コピー先に「scp」とだけ指定する。以下の例ではコピー元ファイル名を明示しているが、単に「flash」などと指定すればコピー元ファイルのパスも対話式に入力できる。

    awplus# copy test4567.cfg scp ↓
    Enter destination host name []:zein@172.17.28.1 ↓ （SCP（SSH）サーバー。通常は「ユーザー名@」を前置する）
    Enter destination file name [test4567.cfg]: ↓ （アップロード後ファイル名。カッコ内の名前でよければ単にEnter）
    Copying from source file, please wait...
    Password:XXXXXXXX ↓ （SSHサーバーにログインするためのパスワード。実際には表示されません）
    Copying to destination file, please wait...
    Successful operation

■ SFTPによるファイルダウンロードを対話式に行うには、コピー元に「sftp」、コピー先に「flash」とだけ指定する。

    awplus# copy sftp flash ↓
    Enter source host name []:zein@172.17.28.1 ↓ （SFTP（SSH）サーバー。通常は「ユーザー名@」を前置する）
    Enter source file name []:tmp/test5678.cfg ↓ （ダウンロード対象ファイル）
    Enter destination file name [test5678.cfg]: ↓ （ダウンロード後ファイル名。カッコ内の名前でよければ単にEnter）
    Password:
    Copying..
    Successful operation

■ Web認証サーバー用のSSLサーバー証明書と秘密鍵を、SSH（SCP）サーバー172.16.10.5上のPEM形式ファイルwebauthserver-keycert.pemからインストールする。

    awplus# copy scp://zein@172.16.10.5/tmp/certs/webauthserver-keycert.pem web-auth-https-file ↓

■ TFTPサーバー192.168.10.5からプロキシー自動構成ファイル（PACファイル）ourproxy.pacをダウンロードし、Webサーバー機能（service http）にインストールする。

    awplus# copy tftp://192.168.10.5/ourproxy.pac proxy-autoconfig-file ↓

本製品のIPアドレスが192.168.10.2の場合、インストールしたPACファイルには次のURLからアクセスできる。

`http://192.168.10.2/proxy.pac
`

> Note

> > インストール元のファイル名にかかわらず、URL上のファイル名は「proxy.pac」となる。

■ TFTPサーバー2001:db8::2からファイルtftp-test.txtを本体内蔵フラッシュメモリーにダウンロードする。

    awplus# copy tftp://2001:db8::2/tftp-test.txt flash ↓

■ TFTPサーバー2001:db8::2にファイルipv6-tftp.cfgをアップロードする。

    awplus# copy ipv6-tftp.cfg tftp://2001:db8::2/ ↓

### 注意・補足事項

■ リモートホストをIPアドレス（IPv4/IPv6）ではなくホスト名で指定するためには、あらかじめip name-serverコマンドでDNSサーバーの設定をしておき（初期状態では未設定）、ip domain-lookupコマンドでDNSへの問い合わせ機能を有効にしておく必要がある（初期状態で有効）。なお、指定したホスト名が複数のアドレスに解決された場合（IPv4アドレスとIPv6アドレスの両方が返ってきた場合や、複数のIPv4アドレスあるいは複数のIPv6アドレスが返ってきた場合など）は、成功するまで各アドレスを順に使って接続を試行するがその順序は不定。
■ コピー先にスタートアップコンフィグ（startup-config）、スタートアップコンフィグの実体ファイル（boot config-fileコマンドで指定したファイル）、あるいは、初期設定の実体ファイル（flash:/default.cfg）を指定して上書きコピーすることはできない。ただし、「copy running-config startup-config」だけは例外で、スタートアップコンフィグの実体ファイルが存在していても、現在のランニングコンフィグの内容で上書きする。
■ Web認証サーバー用のSSLサーバー証明書と秘密鍵の組をインストールするとき、コピー元ファイルは下記の仕様を満たしている必要がある。

- フォーマットはPEM
- 1ファイルに証明書と秘密鍵の両方を含む（証明書のPEMファイルと秘密鍵のPEMファイルをテキストエディターのコピー＆ペーストやファイル連結ユーティリティーなどで連結すればよい）
- 秘密鍵をパスフレーズで保護してはいけない

上記の仕様に反するファイルを指定してもエラーにはならないが、インストール後Web認証サーバー（HTTPS/HTTPとも）が正しく動作しなくなるので注意すること。その場合は、erase web-auth-https-fileコマンドを実行してファームウェア内蔵の証明書を使うようにするか、前記の仕様を満たした正しい証明書を上書きインストールすればよい。（なお、インストール後のSSLサーバー証明書と秘密鍵はリモートホストなどへコピーできないので、バックアップ時には注意が必要。）
なお、必須ではないが、Web認証サーバーのSSLサーバー証明書が下記の項目を満たしていると、Webブラウザーが警告を出さないなど運用上便利である。

- Supplicant（Webブラウザー）が信頼しているルートCAの証明書によって、Web認証サーバーの証明書が検証できること
  Web認証サーバーの証明書をプライベートCAが発行した場合は、プライベートルートCAの証明書をSupplicantにインストールすればよい。
- Web認証サーバーの証明書のCommon Name（CN）が、Web認証サーバーにアクセスするためのURLのホスト部と一致すること。
  これは通常Web認証サーバーのIPアドレスになるが、IPアドレスを複数持っている場合、初期設定ではどのIPアドレスでもWeb認証サーバーにアクセスできるため、auth-web-server ipaddressコマンドで待ち受けアドレスを特定のIPアドレスだけに固定設定するとよい。
  また、DNSサーバーを利用してWeb認証サーバーにホスト名でアクセスさせる場合は、CNに該当ホスト名をセットしておく。
  HTTPSリダイレクト機能を利用する場合は、auth-web-server host-nameコマンドを使ってWeb認証サーバーのホスト名を設定しておくことにより、リダイレクト先URLに指定したホスト名を埋め込ませることができる（ホスト名未設定時は、リダイレクト先URLとしてWeb認証サーバーのIPアドレスが使われる）。
  なお、同コマンドで設定するホスト名は、Supplicantが使用するDNSサーバーによってWeb認証サーバーのIPアドレスに解決可能であり、なおかつSSLサーバー証明書のCNと一致している必要がある。

■ Web認証サーバー用のSSLサーバー証明書と秘密鍵の組をインストールした後は、次の手順でHTTPサービスを再起動する必要がある。

    awplus(config)# no service http ↓
    awplus(config)# service http ↓

あるいは、システムを再起動してもよい（未保存の設定がある場合は再起動前に保存すること）。

    awplus# reboot ↓

■ ファイル名、フォルダ名に \ は使用できない。
■ 本コマンドは、複数ノードを対象とするワーキングセットプロンプト（atmf working-set）では実行できない（下記メッセージが出てエラーになる）。1台のノードだけを対象とするワーキングセットプロンプトか、ローカルプロンプトから実行すること。

    % Working set must contain only single node for this command

ただし、設定保存用の「copy running-config startup-config」だけは例外的に実行可能。
■ ZMODEMで転送するファイルのサイズは3MByte以下にすること。
■ 外部メディアへのコピー中に外部メディアを抜かないこと。コピー中に外部メディアを抜いた場合、実際はコピーに失敗していても「successful」というメッセージが表示されるため注意。
■ 外部メディアを取り外すときは、事前にunmountコマンドを実行し、未書き込みのデータを書き出してから取りはずすこと。

### 関連コマンド

cd（特権EXECモード）
dir（特権EXECモード）
erase proxy-autoconfig-file（特権EXECモード）
erase web-auth-https-file（特権EXECモード）
ip domain-lookup（グローバルコンフィグモード）
ip name-server（グローバルコンフィグモード）
ip tftp source-interface（グローバルコンフィグモード）
ipv6 tftp source-interface（グローバルコンフィグモード）
service http（グローバルコンフィグモード）
show auth-web-server（特権EXECモード）
show mac address-table（非特権EXECモード）
show proxy-autoconfig-file（特権EXECモード）
show running-config（特権EXECモード）
show startup-config（特権EXECモード）
ssh client connect-timeout（特権EXECモード）
ssh client port（特権EXECモード）
ssh client session-timeout（特権EXECモード）
unmount（特権EXECモード）
write file（特権EXECモード）
write memory（特権EXECモード）
write terminal（特権EXECモード）

(C) 2019 - 2025 アライドテレシスホールディングス株式会社

PN: 613-002671 Rev.AH